FizzBuzz問題 with PowerShell
変態switchさんの出番。
1行で書いたけど、読みづらいのでフォーマット。
switch(1..30){ {$_%3 -eq 0 -and $_%5 -eq 0} {"FizzBuzz"; continue} {$_%3 -eq 0} {"Fizz"} {$_%5 -eq 0} {"Buzz"} default {$_} }
ところで、文字列出力をすると勝手に改行かかるんだけれど、これを変更する方法無いかなぁ。
数字の各桁の和を求める。
"123".ToCharArray() | %{$t = 0}{$t += ($_ - [char]'0') }{$t} # 整数の場合は(123).ToString().ToCharArray()をすればOK
追記
char同士の演算が出来るのは2.0以降のようです。
1.0の場合は、数値の計算部分を[int]にキャストすれば出来る様です。
"123".ToCharArray() | %{$t = 0}{$t += ([int]$_ - [int][char]'0') }{$t}