for (初期値設定式; ループ条件式; ループ更新式){
...(処理)
}
for (初期値設定式; ループ条件式; ループ更新式){
...(処理)
}
「初期値設定式」でループ変数の初期値を設定し「ループ条件式」が真(true)である限りループを実行します。ループを1回処理するごとに「ループ更新式」を実行します。
ループ条件式内で利用する比較演算子についてはこちらの記事を参照して下さい。
10回ループしてメッセージを表示する例です。
for ($i=0; $i -lt 10; $i++){
Write-Output ("count:"+$i)
}
$i
変数の初期値を0に設定し、$l
変数が10より小さい(<10)条件でループします。ループごとに$l
変数に1を加算します。
ループ内ではWrite-Output
を呼び出し画面に count:($i変数の値)
を出力します。
スクリプトを実行します。ループが10回処理されメッセージが10表示されます。
深夜一時。窓の外では五月の夜風がビルの谷間を吹き抜け、ネオンが揺らいでいる。
薄暗いワンルームの片隅で、悠一はモニターの蒼白い光を浴びながら PowerShell を叩き続けていた。
パチパチと続くキー打鍵の合間、恋人の咲がマグカップを差し出す。
「また“無限ループ”に入ってるの?」
「違うよ」悠一はかすかに笑い、エディタに映るコードを指さした。
for ($i = 1; $i -le 5; $i++) {
Write-Host "Iteration $i"
}
Enter キーを押す。黒いコンソールに順々に白い文字が浮かぶ。
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
まるで打楽器のような規則正しいリズム。咲は湯気の立つカップを置き、モニターと同じ高さまで身をかがめた。
「五回も回す意味、ある?」
「回数より“増えていく”感覚が好きなんだ」
彼の瞳に映る数字は、まるで心拍のグラフ。咲は小さく肩をすくめると、テーブルの端に置かれたもう一台のノート PC を開いた。
——カタカタ。
for ($hour = (Get-Date).Hour; $hour -lt 24; $hour++) {
Write-Host "BedTime Check: $hour 時"
}
「なにこれ」悠一が首を傾げる。
「私の“本番スクリプト”。あなたが寝るまで監視ループ」
実行すれば、時計の数だけ「BedTime Check」が延々と並ぶ。悠一は苦笑し、咲の入力カーソルを制して Esc を押した。
「わかった、負けたよ」
「なら break して?」
「了解」
break
まるで魔法の呪文のように、一瞬でコンソールが静止した。部屋の空気も途端に穏やかになる。
最後に咲が小さく追加した。
for ($kiss = 0; $kiss -lt 1; $kiss++) {
Write-Host "Good night"
}
モニターに「Good night」と一行だけ灯り、二人は顔を見合わせて笑った。
——そしてその夜、悠一は初めてコードではなく恋人の温もりをループさせながら眠りについた。
「for」も「break」も結局、愛にはかなわない。