私はあなたの質問をよく理解していません。 Rubyはプログラミング言語ですが、JRubyはRubyプログラミング言語のコンパイラです。あなたのプログラムがRubyで実行されているかJRubyで実行されているのかは分かりません。JRubyで実行されているときははです。なぜならJRubyはRubyを実装しているからです。
「私がフォードと自動車のどちらを運転しているのか、どうすればわかるのですか?
あなたが実行しているRuby実装を知りたい場合は、グローバルRUBY_ENGINE
の定数をチェックすることができます。いくつかのエンジンの
- は、例えば、それが実行されているどのようなエンジンを教えてくれ、それにはない、:それは残念ながら三つの理由で失敗したが、普遍的かつユニークにあなたが実行しているエンジンを識別することになっていますYARVの場合、
RUBY_ENGINE
は'yarv'
となるはずですが、実際は'ruby'
です。したがって、それは "特定"の部分で失敗します。
- さらに悪化:MRI上、それはまた、同じ値を返す全く異なるエンジンがないだけで、それはあなたが上で動作しているかエンジンを教えてくれないことを意味するが、これは、も
'ruby'
です。 IOW、 "ユニークな"部分でも失敗します。 - 最後に、
RUBY_ENGINE
はかなり新しく、すべてのエンジンではまだサポートされていないため、「ユニバーサル」の部分では失敗します。 if defined? RUBY_ENGINE && RUBY_ENGINE == 'jruby'
のようなあなたの目的のためにまだ
は、何かが正常に動作する必要があります。
JRubyのもとでは "java"で、他の場所にある基礎となるOSです。 – Chuck
確かに。私のために十分に良い。どうもありがとう! – pastorius
@Chuck:確認していただきありがとうございます。私は便利なJRubyをインストールしていませんでした。 – JesperE