我一直在更新函数中的全局变量的问题。我发现下面的文章,这看起来前途无量:Powershell范围更改?
Variable scoping in PowerShell
然而,我发现,没有他张贴匹配我看到的输出。这是他的代码:
[email protected]("g")
function foo()
{
$array += "h"
Write-Host $array
}
& {
$array +="s"
Write-Host $array
}
foo
Write-Host $array
而且他的成绩:
g s
g h
g
但是...我上的PowerShell 5.0的结果是:
s
h
g
加入$global:array += "s"
建议的解决方案提供了:
g
h
g
我错过了什么,如何纠正它?如果$ global:不起作用,如何从函数内更新函数外部的变量?
备注:在ISE中,我得到了预期的结果。但是,从.ps1运行它时,我可以看到上面的内容。 – SaintFrag