Создайте рубиновый Proc из строки

Я хочу определить блок как строку, затем создать лямбду. Следующий пример не работает. Действительно ли что-то вроде этого возможно?

code_string = "|x|x*2"

l = lambda {eval(code_string)}

l.call(3) => 6
10
задан fjs6 17 March 2010 в 00:33
поделиться

1 ответ

Это работает

eval  "lambda { " + code_string + " }"

Я просто не знаю, почему один работает, а другой нет.

9
ответ дан 3 December 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: