1
我喜歡C#比PS好得多,但是這次我不得不寫一個腳本... 我需要在函數內部改變「全局」變量而不傳遞變量作爲參數。它甚至有可能嗎? 這裏是一個抽象:從PowerShell函數中修改腳本變量值
$a = 0
$b = 0
$c = 0
function Increment($var1, $var2)
{
$a = $var1
$b = $var2
$c++
}
不同於C#,在PS函數變量是功能範圍的約束,它們保持功能的範圍不變外,如果如上述那樣使用。我怎樣才能使這個工作,以便通過引用訪問腳本變量?
的可能的複製[如何修改父範圍變量使用Powershell](http://stackoverflow.com/questions/6766722/how-to-modify-parent-scope-variable-using-powershell)。 – rrirower 2014-11-06 16:47:13
使用'$ script:a'' $ script:b'等.... – arco444 2014-11-06 16:50:01
通常這違反了函數的目的(改變它自己範圍之外的變量)。您可以修改父範圍內的變量,但通常還有其他方法可以解決該問題。請記住,PowerShell可以從函數返回多個值。 – 2014-11-06 17:27:41