列表分配多个变量

Powershell 允许多个变量赋值,几乎可以处理数组或列表等所有内容。这意味着不要做这样的事情:

$input = "foo.bar.baz"
$parts = $input.Split(".")
$foo = $parts[0]
$bar = $parts[1]
$baz = $parts[2]

你可以这样做:

$foo, $bar, $baz = $input.Split(".")

由于 Powershell 以类似列表的方式处理赋值,如果列表中的值多于要分配给它们的变量列表中的项,则最后一个变量将成为剩余值的数组。这意味着你也可以这样做:

$foo, $leftover = $input.Split(".") #Sets $foo = "foo", $leftover = ["bar","baz"]
$bar = $leftover[0] # $bar = "bar"
$baz = $leftover[1] # $baz = "baz"