Создать рубиновый Proc из строки - PullRequest
9 голосов
/ 17 марта 2010

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

code_string = "|x|x*2"

l = lambda {eval(code_string)}

l.call(3) => 6

Ответы [ 2 ]

9 голосов
/ 17 марта 2010

Это работает

eval  "lambda { " + code_string + " }"

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

2 голосов
/ 26 августа 2016

eval "lambda {#{code_string}}"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...