PowerShell - 関数(パイプ)
パイプで渡されるてくるデータの処理用の関数。
開始処理はbeginブロック、終了処理はendブロック、渡されてくるデータの処理はprocessブロックに記述する。渡されてきたデータは変数$_に格納されている。
returnで値を返すと関数の出力になる。
even.ps1
function even { begin{ $cnt = 0 } process { $cnt++ if($_ % 2 -eq 0){ return "${cnt}番目のデータ:$_" } else { return } } end{ return "終了" } }
実行結果
PS C:\> . C:\even.ps1 PS C:\> 1..10 | even 2番目のデータ:2 4番目のデータ:4 6番目のデータ:6 8番目のデータ:8 10番目のデータ:10 終了