From: matz@... (Yukihiro Matsumoto) Date: 2004-03-03T08:00:09+09:00 Subject: Re: concerns about Proc,lambda,block Hi, In message "Re: concerns about Proc,lambda,block" on 04/03/02, Austin Ziegler writes: |Will there be a way to convert proc-style to block-style handling and |vice-versa? proc to lambda lambda{|*args| proc.call(*args)} lambda to proc Proc.new{|*args| lambda.call(*args)} Conceptually, lambda is a Proc wrapped by argument checker and break/return handler. def lambda(&block) Proc.new{|*args| ... check number of arguments to block begin block.call(*args) rescue LocalJumpError ..terminate lambda execution by return/break end } end matz.