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 {$_}
}

ところで、文字列出力をすると勝手に改行かかるんだけれど、これを変更する方法無いかなぁ。

数字の各桁の和を求める。

PowerShellワンライナー

"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}