2013年3月19日火曜日

◆foreach自動変数

これまで使ったことは無かったのだが「$foreach」なる自動変数がある。
ちょっと使い道を調べてみた。

PS>foreach($i in 0..2){$foreach}
1
2

ん~、0,1,2ではなく1,2なんですね。
なぜでしょう。

$iも表示させてみましょう。

PS>foreach($i in 0..2){$i;$foreach}
0
1
2

PS>foreach($i in 0..2){$foreach;$i}
1
2
0

ん~、余計判らなくなった。

PS>foreach($i in 0..2){Write-Host $i -f Cyan;$foreach}
0
1
2

ヘルプを見てみましょう。
image

なるほど、列挙だからなのね。
「$foreach」をそのまま参照すると最後まで列挙されて終わっちゃうのですね。

現在の列挙値は「Current」プロパティで参照できる。

image

っと何となく仕様は判ってきたのだが、どんな時に使い出があるのか今一つ思いつかない。

検索してみてもあまり使っている例を見かけないなぁ・・・。

0 件のコメント:

コメントを投稿