Thanks a lot. At least I won't be killing myself trying to figure out what I missed. FYI, I tested on version 1.1 and 1.1.3 and they seem to have the same issue. Since we are on the subject, I wonder if you can spare some of your time help me understand this:
As far as I understand, the global environment is actually a singleton 'main' Object. The function defined in the global scope should be translated to private method of Object class which is what it shows in iirb.bat. Not sure why ir.exe as well as the code in the ScriptEngine does not behave that way. c:\Program Files\IronRuby 1.1\bin>ir IronRuby 1.1.3.0 on .NET 4.0.30319.225 Copyright (c) Microsoft Corporation. All rights reserved. >>> def global_hi ... puts 'hi' ... end => nil >>> class A ... def hi ... global_hi ... end ... end => nil >>> A.new.hi (ir):3:in `hi': undefined method `global_hi' for #<A:0x0000056> (NoMethodError) from (ir):1 >>> self.method(:global_hi) => #<Method: Object(#<Class:#<Object:0x0000058>>)#global_hi> >>> exit --------------------------------------------------------------------- c:\Program Files\IronRuby 1.1\bin>iirb irb(main):001:0> def global_hi irb(main):002:1> puts 'hi' irb(main):003:1> end => nil irb(main):004:0> class A irb(main):005:1> def hi irb(main):006:2> global_hi irb(main):007:2> end irb(main):008:1> end => nil irb(main):009:0> A.new.hi hi => nil irb(main):010:0> self.method(:global_hi) => #<Method: Object#global_hi> irb(main):011:0> -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core