1..100|%{"$_`r"+{fizz}[$_%3]+{buzz}[$_%5]}
1..100 # 範囲演算子で1から100までのint[]を生成
| # パイプ演算子
% # Foreach-Object
{ # スクリプトブロック開始(%の引数)
" # 文字列開始(二重引用符の中ではエスケープシーケンスが展開される)
$_ # パイプラインの入力を受け取る自動変数
`r # Carriage returnのエスケープシーケンス。後に続く文字で前の文字を上書きする(なにもない場合上書き無し)
" # 文字列終了→string型
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)
{ # スクリプトブロック開始
fizz # コマンド/関数名fizzとして解釈されるがスクリプトブロック内なので実行されない
} # スクリプトブロック終了→ScriptBlock型
[ # []演算子で左辺を要素数1の配列としてアクセスする。
$_%3 # 配列のインデックス。%(剰余)演算子でパイプラインの入力$_を3で割る
] # 上の結果が0(→3の倍数)の場合のみスクリプトブロックの要素にアクセス、1以上の場合$null
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)。
{buzz}[$_%5] # fizzと同じ。結果としてstringが評価されコンソールに出力される
} #スクリプトブロック終了。
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
193デフォルトの名無しさん
2018/11/11(日) 21:26:24.30ID:v3JXSoAX■ このスレッドは過去ログ倉庫に格納されています
