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...
h = {
"a" => :add,
"d" => :display #etc
} #other code
my_obj.send(h[user_input], parameters)
I'm just wondering if there is a more common practice for this sort of thing.
Todd
Note though that in this case the object is missing. You could
include that in the closures though.
Kind regards
robert
···
On Wed, Oct 24, 2012 at 7:44 PM, Todd Benson <caduceass@gmail.com> 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...
h = {
"a" => :add,
"d" => :display #etc
} #other code
my_obj.send(h[user_input], parameters)
I'm just wondering if there is a more common practice for this sort of thing.
On Wed, Oct 24, 2012 at 1:37 PM, Robert Klemme <shortcutter@googlemail.com> wrote:
On Wed, Oct 24, 2012 at 7:44 PM, Todd Benson <caduceass@gmail.com> 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.