我有一些类似于下面的伪代码
$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 中的工作方式非常不熟悉。