I have a script with top level variables in it (i.e - variables that
are not declared within a block, function definition or class
definition). When I run this script through irb with load, I can
access the variables just as though I had defined them in irb. Cool!
Then I added a true global variable - $opts - to my script. I run it
through irb and, lo and behold, I can’t get at those top level
variables anymore. What happenned? Did declaring the global variable
somehow sink my script into its own context?
Jason Dusek wrote:
I have a script with top level variables in it (i.e - variables that
are not declared within a block, function definition or class
definition). When I run this script through irb with load, I can
access the variables just as though I had defined them in irb. Cool!
Then I added a true global variable - $opts - to my script. I run it
through irb and, lo and behold, I can’t get at those top level
variables anymore. What happenned? Did declaring the global variable
somehow sink my script into its own context?
I cannot exactly tell what went wrong in your case but I do know that
IRB cannot be trusted once local variables are involved.
Maybe post the script so we get a better impression of what is going
on?
Kind regards
robert