How do you guys convert yield to block ? I were hoping to that #mode2 could get same behavier as #mode, however self is out of control. server> ruby a.rb #<ModeInfo:0x8123634 @tabsize=4> a.rb:18: undefined method `tabsize' for main:Object (NoMethodError) from a.rb:17:in `mode2' from a.rb:11:in `instance_eval' from a.rb:7:in `instance_eval' from a.rb:7:in `mode' from a.rb:12:in `mode2' from a.rb:17 server> expand -t2 a.rb class ModeInfo def initialize; @tabsize = 8 end def tabsize(value); @tabsize = value end end def mode(&block) m = ModeInfo.new m.instance_eval(&block) p m end def mode2 block = lambda{yield} # attempt to convert yield 2 block mode(&block) end mode do tabsize 4 end mode2 do tabsize 5 # BOOM end server> -- Simon Strandgaard