ruby - Как вернуться изнутри eval?

У меня есть код, который я должен использовать в пределах eval. Иногда мне нужно выйти из eval кода, но мои попытки приводят к ошибкам.

Например:

# expected to see 1, 2 and 5; not 3 nor 4; and no errors
eval "puts 1; puts 2; return; puts 3; puts 4"   # => Error: unexpected return
puts 5

Я пытался с помощью return, end, exit, break, и не смог добиться успеха. exit не вызывает ошибок, но тогда я не получаю 5.

(Примечание: я знаю, что eval - зло, но в данном случае мне нужно его использовать.)

6
задан Sony Santos 28 July 2011 в 19:06
поделиться