P
Peter Szinek
Hi,
I am setting up a few variables based on user input with the following
code snippet:
==================================
vars = %w{a b c}
vars.each do |var|
print "#{var} = "
val = gets
eval("$#{var}=#{val.chomp}")
end
#use a, b, c here for something
==================================
What I don't like about this code is the use of global variables.
However, I have to use them - or otherwise a,b,c will be already out of
scope at the place I need them.
Another possibility would be to use constants, i.e.
vars = %w{A B C}
which would work well - however, since I am repeating the process more
times, from the second iteration on I am getting warnings that A, B, C
etc were already initialized, which is not nice.
I guess yet another possibility would be to wrap a class around this
stuff and use instance_eval or something like that - but a class that
serves solely this purpose looks to heavy to me...
Any other ideas?
TIA,
Peter
__
http://www.rubyrailways.com
I am setting up a few variables based on user input with the following
code snippet:
==================================
vars = %w{a b c}
vars.each do |var|
print "#{var} = "
val = gets
eval("$#{var}=#{val.chomp}")
end
#use a, b, c here for something
==================================
What I don't like about this code is the use of global variables.
However, I have to use them - or otherwise a,b,c will be already out of
scope at the place I need them.
Another possibility would be to use constants, i.e.
vars = %w{A B C}
which would work well - however, since I am repeating the process more
times, from the second iteration on I am getting warnings that A, B, C
etc were already initialized, which is not nice.
I guess yet another possibility would be to wrap a class around this
stuff and use instance_eval or something like that - but a class that
serves solely this purpose looks to heavy to me...
Any other ideas?
TIA,
Peter
__
http://www.rubyrailways.com