ドラマ『わにとかげぎす』
38年間友達なし彼女なしの男に、初とも、初かのができるが...ん~、どういう展開になるんでしょうか。謎で面白そうです。
(本記事はPowerShell入門記事としてコチラにもまとめています。)
今回はフィルタです。オブジェクトをフィルタする場合は、%(ForEach-Object)を使いますが、
PS C:\Users\takk\aaa> 1..10 | %{$_*$_} 1 4 9 16 25 36 49 64 81 100 PS C:\Users\takk\aaa>
これを関数化するには、filterを使います。
PS C:\Users\takk\aaa> filter squre(){ >> $_*$_ >> } >> PS C:\Users\takk\aaa> 1..10 | squre 1 4 9 16 25 36 49 64 81 100 PS C:\Users\takk\aaa>
始めと終わりの処理をしたい時は、%を使う場合は、{}を3つ置きます。
PS C:\Users\takk\aaa> 1..10 | %{$sum=0}{$sum+=$_}{$sum} 55 PS C:\Users\takk\aaa>
この3つの{}は、単にBegin/Process/Endの指定を省略しているだけです。
PS C:\Users\takk\aaa> 1..10 | % -Begin{$sum=0} -Process{$sum+=$_} -End{$sum} 55 PS C:\Users\takk\aaa>
ですので、filterを使う場合は、Begin/Process/Endブロックそれぞれの中に必要な処理を書けばよいです。
PS C:\Users\takk\aaa> filter sum(){ >> begin{$sum=0} >> process{$sum += $_} >> end{$sum} >> } >> PS C:\Users\takk\aaa> 1..10 | sum 55 PS C:\Users\takk\aaa>
コメント