From: Todd Benson Date: 2012-10-25T11:38:41+09:00 Subject: Re: Is there a better way to invoke methods? On Wed, Oct 24, 2012 at 1:37 PM, Robert Klemme wrote: > On Wed, Oct 24, 2012 at 7:44 PM, Todd Benson wrote: >> I'm writing a simple script and need to shoot off methods based on >> user input via ARGV. I'm trying to avoid the if, elseif chain, so >> right now I'm using send... > Another approach would be to replace the symbols in the Hash by > lambdas and invoke them. > > h= { > "a" => lambda {|p1, p2, p3| ...}, > "d" => lambda {|p1, p2, p3| ...}, > } > > h[user_input][parameters] > h[user_input].call(parameters) > > Note though that in this case the object is missing. You could > include that in the closures though. > > Kind regards > > robert Ideal. Thank you. Todd