Hatena::Groupfizzbuzz

Golfはまだできないけど、きっと覚えます。

記事一覧

2010-03-10

awk(2)

21:30

$ jot 100|awk '{n=($1%15==0)?"FizzBuzz":($1%3==0)?"Fizz":($1%5==0)?"Buzz":$1;print n}'

awkにも3項演算子があって、これはネストできる。

jotデフォルトで1オリジンなので、FizzBuzzならoffset指定だけで大丈夫。

trotrtrotr2010/03/11 16:17ubuntuにはjotがないみたいです。かわりにseqを使う必要がありました。

wakutekawakuteka2010/03/11 23:39なるほど。MacOSXでやったのですが、jotはBSD系にしかないんですね。知りませんでした><

2010-03-09

awk

23:11

$ jot - 1 100|awk '{if($1%15==0)print "FizzBuzz";else if($1%3==0)print "Fizz";else if($1%5==0) print "Buzz";else print $1}'

mattnmattn2010/03/12 11:53==0の代わりに<1を使うと計3byte減らせますよ。:)