From: Erik Veenstra Date: 2007-06-13T01:01:00+09:00 Subject: Re: Passing block to Proc#call > x = lambda do |*args| > if args.size == 5 > # call another block > yield *args.map{|x| x.gsub(/es$/, '') } > end > end You are using 2 variables with the same name (x) in the same scope. So, in fact, you are only using 1 variable... gegroet, Erik V. - http://www.erikveen.dds.nl/