>>>>> "M" == Morton Goldberg <m_goldberg / ameritech.net> writes: M> # Each instance will have its own version of method "bar". no, not really moulon% cat b.rb #!/usr/bin/ruby class Foo def Foo.make_bar(&block) define_method(:bar, &block) end # Each instance will have its own version of method "bar". def initialize(&block) Foo.make_bar(&block) end end f = Foo.new {puts "foobar"} f.bar Foo.new {|s| printf "%s %s\n", s, s}.bar("foobar") f.bar("xxxxx") moulon% moulon% ./b.rb foobar foobar foobar xxxxx xxxxx moulon% Guy Decoux