我一直在更新函數中的全局變量的問題。我發現下面的文章,這看起來前途無量: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