FizzBuzz問題ゴルフ
- 0は真
- 空文字列は真
これだけで結構増えるよね.
で,精一杯頑張ってみた結果.
puts (1..100).map{|n|(s=(n%3<1 ?'Fizz':'')+(n%5<1 ?'Buzz':''))=~/^$/ ? n:s}
シンタックスハイライト,バグってるし.
wcの結果.
$ wc fizbuz.rb 1 6 76 fizbuz.rb
今のところ,これが限界.
使ったテク
- %の結果は0以上という性質を使用して,==0のところを<1にして一文字節約
- 空文字列の判定は.empty?よりも=~/^$/のほうが一文字節約できる
もっと節約できるかしら