Rubyについて Part 26

このエントリーをはてなブックマークに追加
538538
>532
それをRubyに直すと

puts((1..100).map {|x|
next 'FizzBuzz' if x % 15 == 0
next 'Buzz' if x % 5 == 0
next 'Fizz' if x % 3 == 0
x
})

って感じか。
539デフォルトの名無しさん:2007/05/16(水) 09:37:38
>>508
ソースコードのまま解釈実行されるRubyプログラム
Javaバイトコードに変換され、実行時コンパイルされるRubyプログラム

インタプリタと実行時コンパイラで速度比較を行えば、
実行時コンパイラが勝つのは当たり前だろ。
540デフォルトの名無しさん:2007/05/16(水) 09:53:53
>>531
> ans = i.to_i

なんでわざわざFixnumをto_iする?

> ans = 'Fizz' if i % 3 == 0
> ans = 'Buzz' if i % 5 == 0
> ans = 'FizzBuzz' if i % 3 == 0 && i % 5 ==0

条件がバラバラでわかりにくい。

puts "#{'Fizz' if (i % 3).zero?}#{'Buzz' if (i % 5).zero?}"

のほうがマシに感じる。
541デフォルトの名無しさん:2007/05/16(水) 10:14:23
>>538
スッキリして判りやすいし配列を生成するところを変えるだけで
不規則な数列の並びにも対応できるからループ回すソースよりも修正に強いな
条件判断部も独立していてすげ替えだけで済むし表現方法も条件判断部と独立しているから
HTMLのテーブルにするとか後からいくらでも変えれるのも強いな

見やすさ、柔軟性、要素数すべての面からこれが最良の方法か