They won't probably work exactly the same way as IronRuby mangling though. So if you need this for CLR interop you should use IronRuby::Clr::Name class.
Tomas From: ironruby-core-boun...@rubyforge.org [mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Orion Edwards Sent: Monday, January 18, 2010 12:41 PM To: ironruby-core@rubyforge.org Subject: Re: [Ironruby-core] Accessing classes defined in IronRuby.dll from within IronRuby (IronRuby 1.0RC1) Thanks for that Tomas. I ended up copy/pasting the String#camelize and #underscore methods from rails as they were only a couple of lines long. This is probably less error prone than importing types from the IronRuby dll in the long run anyway :-) Cheers. On Mon, Jan 18, 2010 at 7:35 PM, Tomas Matousek <tomas.matou...@microsoft.com<mailto:tomas.matou...@microsoft.com>> wrote: BTW, if you really needed to get to IronRuby.dll's types you can use this workaround: >>> Utils = System::Type.get_type('IronRuby.Runtime.RubyUtils, >>> IronRuby').to_class => IronRuby::Runtime::RubyUtils >>> Utils.try_unmangle_name("foo_bar") => 'FooBar' Tomas From: ironruby-core-boun...@rubyforge.org<mailto:ironruby-core-boun...@rubyforge.org> [mailto:ironruby-core-boun...@rubyforge.org<mailto:ironruby-core-boun...@rubyforge.org>] On Behalf Of Tomas Matousek Sent: Sunday, January 17, 2010 10:24 PM To: ironruby-core@rubyforge.org<mailto:ironruby-core@rubyforge.org> Subject: Re: [Ironruby-core] Accessing classes defined in IronRuby.dll from within IronRuby (IronRuby 1.0RC1) 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> [mailto: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<mailto: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<mailto:Ironruby-core@rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core