You can use this construct:

>>> defined? RUBY_ENGINE and RUBY_ENGINE == "ironruby"
=> true

From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Nathan Stults
Sent: Thursday, October 29, 2009 12:26 AM
To: ironruby-core@rubyforge.org
Subject: [Ironruby-core] Platform

I noticed that the PLATFORM and RUBY_PLATFORM constants returns the same string 
when running from MRI as from IronRuby. Is there a standard Ruby constant or 
Kernel method or something that will indicate that the interpreter is IronRuby 
as opposed to MRI? While it is certainly true that the OS is the same when 
running from both environments, it would seem pretty useful to me to be able to 
distinguish, as JRuby does, so we can write libraries that can selectively do 
things like selectively take advantage of the .NET BCL if present. There are 
probably easy enough ways to work around this, like 'begin require System 
@platform="ir" rescue LoadError end' but using PLATFORM directly feels like it 
would be more elegant.
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to