From: Robert Klemme Date: 2004-10-21T16:54:18+09:00 Subject: Re: Idiom -- is there a better way? "Mark Probert" schrieb im Newsbeitrag news:Xns9588647C9B7C4probertmnospamacmorg@198.161.157.145... > > Hi .. > > I am doing indirect dispatch, something like: > > class Foo > def bar(fn) > eval "self.#{fn}" > end > end > > class Bar < Foo > def blah > puts "blah here" > end > end > > f = Bar.new > f.bar("blah") > > It works however I am sure there must be a nicer way of doing the bar(fn) > stuff. Any ideas? > > TIA, > -mark. There's no need for method bar because that is built into Ruby alread: Object#send does the job: class Bar def blah puts "blah here" end end >> Bar.new.send :blah blah here => nil >> Bar.new.send "blah" blah here => nil >> Kind regards robert