From: ts Date: 2006-04-19T23:05:11+09:00 Subject: Re: interested in metaprogramming? >>>>> "R" == Robert Dober writes: R> Could not agree more but I am desperately looking for a way to replace this R> which I use *very* often wait for 2.0 R> class Mine R> eval <<-EOS R> def #{name}( value, &block ) R> do_something( &block ) if block_given? R> end R> EOS R> end moulon% cat b.rb #!/usr/bin/ruby class Mine define_method(:a) {|a, &b| do_something(a, &b) } def do_something(a) if block_given? yield a else puts "no block #{a}" end end end Mine.new.a(12) {|x| puts "block #{x}" } Mine.new.a(24) moulon% moulon% ruby -v b.rb ruby 1.9.0 (2006-04-08) [i686-linux] block 12 no block 24 moulon% Guy Decoux