Create a ruby Proc from a string

lambda, ruby

Solution

This works

eval  "lambda { " + code_string + " }"

I just don't know why this one does and the other does not.

Problem

I want to define the block as a string, then create the lambda. The following example does not work. Is something like this possible? ``` code_string = "|x|x*2" l = lambda {eval(code_string)} l.call(3) => 6 ```

Original source