问题是:“编写一个打印从 1 到 100 的数字的程序。但是对于三的倍数打印“Fizz”而不是数字,对于五的倍数打印“Buzz”。对于同时是三和三的倍数的数字五印“FizzBuzz”。”
我下面的代码有效,但我不明白为什么最后一行是 f || b 而不是 f & b?
为了返回 FizzBuzz,不应该 f 和 b 都必须为真,而不是 f OR b?
puts (1..100).map {|i|
f = i % 3 == 0 ? 'Fizz' : nil
b = i % 5 == 0 ? 'Buzz' : nil
f || b ? "#{ f }#{ b }" : i
}