問題は次のとおりです。「1 から 100 までの数字を出力するプログラムを作成します。ただし、3 の倍数の場合は数字の代わりに「Fizz」と出力し、5 の倍数の場合は「Buzz」と出力します。 5枚プリント「FizzBuzz」。
以下のコードは機能しますが、最後の行で f || になっている理由がわかりません。f&bではなくb?
FizzBuzz を返すには、f OR b ではなく、f AND b の両方が真でなければならないのではないでしょうか?
puts (1..100).map {|i|
f = i % 3 == 0 ? 'Fizz' : nil
b = i % 5 == 0 ? 'Buzz' : nil
f || b ? "#{ f }#{ b }" : i
}