В чем проблема с этим кодом Ruby 2.0?Неожиданное возвращение (LocalJumpError)
p (1..8).collect{|denom|
(1...denom).collect{|num|
r = Rational(num, denom)
if r > Rational(1, 3) and r < Rational(1, 2)
return 1
else
return 0
end
}
}.flatten
Ошибка block (2 levels) in <main>': unexpected return (LocalJumpError)
. Я хочу создать плоский список, содержащий n единицы (и остальные нули), где n - количество рациональных чисел с знаменателями ниже 8, которые находятся между 1/3 и 1/2. (it's a Project Euler problem). Поэтому я пытаюсь вернуться из внутреннего блока.
Не используйте 'return' в блоке. Просто удалите оба 'return', и ваш код будет в порядке. – oldergod