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_Assignmentabout_Arraysabout_Splatting,没有任何运气。

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

分配多个变量

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

相关内容

  • 没有找到相关文章

最新更新