2016-06-09 32 views
3

我纔剛剛注意到,這是有效的PowerShell代碼:PowerShell的特殊數組頭/尾分配記錄在哪裏?

PS> $first, $rest = @(1, 2, 3) 

這種說法提出的第一項陣列中$first$rest剩餘項目。

PS> $first 
1 

PS> $rest 
2 
3 

它甚至對變量的任意數目,推動當前的頭到下一個變量和尾進入最後一個。你可以自己嘗試。

PS> $first, $second, $rest = @(1, 2, 3, 4) 

看來,如果沒有足夠的正面或反面投入到其中一個變量分配$null值。即使在$rest的情況下(我寧願看到一個空陣列,但無論如何)。

PS> $first, $second, $rest = @(1) 

PS> $first 
1 

PS> $second 

PS> $second -eq $null 
True 

PS> $rest 

PS> $rest -eq $null 
True 

PS> $rest -eq @() 
False 

問題和我的問題是,我沒有看到這個記錄在任何地方!我試圖找出什麼時候支持。究竟是如何實施的。如果它適用於任何其他類型。

我檢查了about_Assignment,about_Arraysabout_Splatting,沒有任何運氣。

回答

4

請參閱about_Assignment_Operators底部附近的部分ASSIGNING MULTIPLE VARIABLES

+0

哦不!我在頁面上搜索而不是滾動。使用了一些不同的術語!真是太棒了:) –