我只是注意到这是有效的 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_Arrays
和about_Splatting
, 没有任何运气。