2016-06-09 57 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

哦不!我在页面上搜索而不是滚动。使用了一些不同的术语!真是太棒了:) –