Вот проблема: «Напишите программу, которая печатает цифры от 1 до 100. Но для кратных трех напечатать« Fizz »вместо числа и для кратных пяти напечатать« Buzz ». числа, кратные как трех, так и пяти печатным «FizzBuzz» ».Ruby FizzBuzz And/or
Мой код ниже работает, но я не понимаю, почему на последней строке это f || b и не f & b?
Не должны ли оба И И b должны быть правдой, чтобы вернуть FizzBuzz, а не f ИЛИ b?
puts (1..100).map {|i|
f = i % 3 == 0 ? 'Fizz' : nil
b = i % 5 == 0 ? 'Buzz' : nil
f || b ? "#{ f }#{ b }" : i
}
Как вам удалось написать рабочий код, который вы не понимаете? – Blorgbeard
Просто используйте код на бумаге для значений 'i' like' 3', '5',' 15' и '1'. – millimoose
Я пробовал и сначала, потому что думал, что это сработает. Затем я попробовал || и это сработало. Вот как я справился. – hopheady