为什么这不起作用。我试图重构代码以使用尽可能少的字符..
for i in 1..200 # 33
if (i%3 == 0) # 34
if (i%5 == 0) ? puts "FizzBuzz" : puts 'Fizz' # 35
end # 36
elsif (i%5 == 0) ? puts "FizzBuzz" # 37
if (i%3 == 0) # 38
else puts "Buzz" # 39
end # 40
else puts i # 41
end # 42
end # 43
答案 0 :(得分:2)
如果你想使用嵌套的if-else,你可以使用
(1..200).each do |num|
if (num%3 == 0 && num%5 == 0)
puts "BucksFizz"
elsif num%3 == 0
puts "Bucks"
elsif num%5 == 0
puts "Fizz"
elsif
puts num
end
end
答案 1 :(得分:1)
使用puts i%5 == 0 ? "FizzBuzz" :'Fizz'
而不是if (i%5 == 0) ? puts "FizzBuzz" : puts 'Fizz'
为所有此类陈述执行此操作