On Mon, 15 Dec 2003, Hal Fulton wrote: > But unless I'm missing something, it would be trivial to do this > in Ruby, simply by defining method_missing for every class. As usual, Matz & Ruby is way ahead of us... class Object def method_missing(symbol) end end class Mallard def quack puts "Quack!" end end "SuperDuck".quack 1.quack nil.quack Mallard.new.quack all = ["SuperDuck",-3, 4.0,nil,[], {}] all.each {|d| d.quack} ruby -w super_duck.rb Quack! Quack! Everythings a Duck! All Hail the Super Duck! Quack! Quack! Quack! John Carter Phone : (64)(3) 358 6639 Tait Electronics Fax : (64)(3) 359 4632 PO Box 1645 Christchurch Email : john.carter / tait.co.nz New Zealand A Million Monkeys can inflict worse things than just Shakespeare on your system.