この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'とコードの両方を削除するだけでOKです。 – oldergod