Project

General

Profile

Bug #10006

Updated by nobu (Nobuyoshi Nakada) almost 10 years ago

After using `Proc#curry`, `instanve_eval`/`instance_exec` Proc#curry, instanve_eval/instance_exec does not seem to work: 

 ~~~ruby ~~~ 
 class Test 
   def test_func 
     140 
   end 
 end    # => :test_func 

 p = ->(x, y) { x + y + test_func }    # => #<Proc:0x007fd23b12bc80@(irb):6 (lambda)> 

 test = Test.new                       # => #<Test:0x007fd23b0f3d08> 
 test.instance_exec(1, 2, &p)          # => 143 

 curried = p.curry[1]                  # => #<Proc:0x007fb3142be070 (lambda)> 
 test.instance_exec(2, &curried) 
 ~~~ 
 ~~~ 
 

 NameError: undefined local variable or method `test_func' for main:Object 
	 from (irb):6:in `block in irb_binding' 
	 from (irb):10:in `instance_exec' 
	 from (irb):10 
	 from ./bin/irb:11:in `<main>' 
 ~~~

Back