PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2005-09-11

[]基本構文(9)

参考:MSH Language and Syntax

1行のステートメントで、複数の変数に代入することができます。

複数の変数への同時代入(1)

MSH> $a=1,2,3,4,5,6
MSH> $first,$second,$rest = $a
MSH> $first
1
MSH> $second
2
MSH> $rest
3
4
5
6
  • 変数をカンマで区切って並べ配列($a)を代入すると、配列の要素が順に代入されます。
  • 「代入する変数の数」 < 「配列の要素」の場合

複数の変数への同時代入(2)

MSH> $a=1,2
MSH> $first,$second,$third = $a
MSH> $first
1
MSH> $second
2
MSH> $third
MSH>
MSH> $third -eq $null
True
  • 「代入する変数の数」 > 「配列の要素」の場合
    • 素数を超えた変数には$nullが代入されます。

当然ですが、以下のように記述しても、

配列の先頭要素だけを代入することはできません。

MSH> $a=1,2,3
MSH> $first = $a
MSH> $first
1
2
3

配列の先頭要素を代入する場合は、普通にインデックスを指定してください。

MSH> $first = $a[0]
MSH> $first
1

複数の変数への同時代入(3)

他の言語でも一般的だと思いますが、

以下のようにすると、同じ値を同時に代入可能です。

MSH> $a=$b=$c=$d=1
MSH> $a
1
MSH> $b
1
MSH> $c
1
MSH> $d
1