5

我只是注意到这是有效的 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

1 回答 1

5

about_Assignment_Operators请参阅...底部附近的以下部分

分配多个变量

在 PowerShell 中,您可以使用单个命令将值分配给多个变量。赋值的第一个元素赋值给第一个变量,第二个元素赋值给第二个变量,第三个元素赋值给第三个变量,以此类推。这称为多重赋值

于 2016-06-09T18:40:20.683 回答