Nasir_K
1
I need to load a class at runtime, whose name I do not know in advance,
but
all I know is a file name.
Say “a.rb” which is
class A
…
end
So I want to do something like (pseudo code)
- load a.rb (this will create the class object for A)
- Somehow access constant “A” and invoke “A.new”
I can think of a few hacks but none of them are elegant.
Is there an idiom for it?
TIA
Nasir_K
2
On Sun, 11 Feb 2007, Nasir K. wrote:
- load a.rb (this will create the class object for A)
- Somehow access constant “A” and invoke “A.new”
I can think of a few hacks but none of them are elegant.
Is there an idiom for it?
dynaload does exactly this.
gem install dynaload
-a
Nasir_K
3
Nasir K. wrote:
- load a.rb (this will create the class object for A)
- Somehow access constant “A” and invoke “A.new”
I can think of a few hacks but none of them are elegant.
Is there an idiom for it?
require ‘script’
script = Script.load “a.rb”
script::A.new