列表分配多個變數

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"