diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -2941,6 +2941,7 @@ rb_eval(self, n) case NODE_ITER: case NODE_FOR: + case NODE_LAMBDA: { PUSH_TAG(PROT_LOOP); PUSH_BLOCK(node->nd_var, node->nd_body); @@ -2952,6 +2953,10 @@ rb_eval(self, n) if (nd_type(node) == NODE_ITER) { result = rb_eval(self, node->nd_iter); } + else if (nd_type(node) == NODE_LAMBDA) { + ruby_iter->iter = ruby_frame->iter = ITER_CUR; + result = rb_block_proc(); + } else { VALUE recv; |