以下のような疑似コードがあります
$funcValues = @(New-Object -TypeName psobject -Property @{'Function' = ''; 'Value' = '';})
function func1(){
while($i -lt 5){
$funcValues += @(New-Object -TypeName psobject -Property @{'Function' = 'func1'; 'Value' = $i;})
$i++
}
}
function func2(){
while($i -lt 3){
$funcValues += @(New-Object -TypeName psobject -Property @{'Function' = 'func2'; 'Value' = $i;})
$i++
}
}
func1
func2
$funcValues | Export-CSV C:\path\results.csv -noType
目標は、両方の関数を配列に追加し、関数を呼び出した後に配列を csv にエクスポートすることです。ただし、このコードが関数内にある場合、配列には何も書き込まれませんが、コードが関数の外にある場合は機能します。
これは変数のスコープに関係していると思いますが、powershell でスコープがどのように機能するかについてはよくわかりません。