Hi all,
I want to create a variable dynamic. I have defined some classes and
depending on data I get from a database I need to construct an object
eg:
now I do
if type==“car”
variab = Car.new
elsif type=“boat”
variab = Boat.new
end
can I do something like
variab = Instance.new(type)
Following this: can I give dynamic variablenames?
now I do
if type==“car”
car_string = Car.new
elsif type=“boat”
boat_string = Boat.new
end
can I do something like
dynamicpart_string = Instance.new(type)
Regards,
Stijn
On 28 Apr 2008, at 16:05, Tarscher wrote:
variab = Car.new
elsif type=“boat”
variab = Boat.new
end
can I do something like
variab = Instance.new(type)
Not quite. but if you can construct a string containing the class
name, the some_string.constantize.new should work.
I’ve no idea what you’re doing, but activerecord’s single table
inheritance (STI) may be of interest.
dynamicpart_string = Instance.new(type)
not cleanly (and my instinct is that if you do this you will be
entering a world of pain)
Fred
Hi Stijn,
for dynamic variable names take a look at instance_variable_set:
inst_var = “wallyworld”
instance_variable_set("@" + inst_var, value)
which assigns some value, ‘value’ to the variable ‘@wallyworld’
and instance_variable_get:
value = instance_variable_get("@" + inst_var)
which retrieves the value ‘value’ from the variable ‘@wallyworld’
Regards
Walter