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変数の1つに入れるのに十分な頭または尾がない場合、値を割り当てるようです。の場合でも$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_Arrays、およびを確認しましたが、about_Splattingうまくいきませんでした。

4

1 に答える 1

5

about_Assignment_Operators...の下部にある次のセクションを参照してください。

複数の変数の割り当て

PowerShell では、1 つのコマンドを使用して複数の変数に値を割り当てることができます。割り当て値の最初の要素は最初の変数に割り当てられ、2 番目の要素は 2 番目の変数に割り当てられ、3 番目の要素は 3 番目の変数に割り当てられます。これは、複数代入と呼ばれます。

于 2016-06-09T18:40:20.683 に答える