IronRuby is a module already defined in standard library. It gives you access 
to a bunch of useful APIs, including name mangling:

>>> IronRuby.singleton_methods
=> ["configuration", "globals", "load", "loaded_assemblies", "loaded_scripts", 
"require", 'create_runtime', 'create_engine', 'create_ruby_setup', 
'get_engine', 'require_file', 'get_execution_context']
>>> IronRuby.constants
=> ["Clr", "Print"]
>>> IronRuby::Clr.constants
=> ["BigInteger", "FlagEnumeration", "Float", "Integer", 
"MultiDimensionalArray", "String", "Name", "Scope"]
>>> IronRuby::Clr::Name.singleton_methods(false)
=> ["clr_to_ruby", "mangle", "ruby_to_clr", "unmangle"]
>>> include IronRuby::Clr
>>> Name.mangle("FooBar")
=> "foo_bar"
>>> Name.unmangle("my_foo")
=> "MyFoo"

Re loading IronRuby.dll - the problem is that IronRuby is also a namespace in 
IronRuby.dll so there is a name conflict we don't probably handle the best we 
could. Loading IronRuby.dll shouldn't be a common scenario though. The best 
place for IronRuby specific functionality is in the IronRuby module. If you're 
missing some let us know.

Tomas

From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Orion Edwards
Sent: Sunday, January 17, 2010 8:29 PM
To: ironruby-core@rubyforge.org
Subject: Re: [Ironruby-core] Accessing classes defined in IronRuby.dll from 
within IronRuby (IronRuby 1.0RC1)

I am doing load_assembly 'IronRuby', and it didn't work (the example is 
copy/pasted pretty much verbatim). Not sure if that means your version of IR is 
different to mine, or what?

Cheers,
On Mon, Jan 18, 2010 at 3:56 PM, Jimmy Schementi 
<jimmy.scheme...@microsoft.com<mailto:jimmy.scheme...@microsoft.com>> wrote:
load_assembly 'IronRuby' will do the trick.
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to