Was ist das Problem mit diesem Ruby 2.0-Code?Unerwartete Rückgabe (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
Der Fehler ist in block (2 levels) in <main>': unexpected return (LocalJumpError)
. Ich möchte eine flache Liste mit n Einsen (und den Rest Nullen) erstellen, wobei n die Anzahl der rationalen Zahlen mit Nennern unter 8 ist, die zwischen 1/3 und 1/2 sind. (it's a Project Euler problem). Also versuche ich aus dem inneren Block zurückzukehren.
Verwenden Sie 'return' nicht in einem Block. Entfernen Sie einfach beide 'Return' und Ihr Code wird in Ordnung sein. – oldergod