質問

すべてのRuby通訳者は、www.ruby-lang.orgで定義されている同じRuby構文に従いますか?

  • MRI
  • ヤルフ
  • ルビニウス
  • Jruby
  • Ironruby

Ruby言語を定義するのは通訳であるためです。それは、1つの通訳者が他の通訳者が持っていない機能/構文の砂糖を追加できることを意味しますか?

その場合、すべての通訳者は独自のAPIドキュメントを持っていますか?

私が使用している原因: http://ruby-doc.org/ruby-1.9/index.html.

どの通訳者がそれを実装していますか?

誰かがこのトピックに光を当てることができますか。

ありがとう!

役に立ちましたか?

解決

すべてのRuby通訳者は、www.ruby-lang.orgで定義されている同じRuby構文に従いますか?

はい、それらはすべて同じ構文を使用しています。実際、彼らは実際にはすべて同じパーサー、または少なくとも同じソースファイルから自動的に生成されたパーサーを使用しています。

私が使用している原因: http://ruby-doc.org/ruby-1.9/index.html.

どの通訳者がそれを実装していますか?

現時点では、Ruby 1.9を完全に実装する唯一の生産対応Ruby実行エンジンはYarvです。

Jruby自体は生産対応であり、Ruby 1.8.7とRuby 1.9.2の両方を実装していますが、Ruby 1.9.2の実装はまだ完了していません。 IronrubyとRubiniusは、Ruby 1.9.2の実装にも取り組んでいます。 MacRubyにはかなり完全なRuby 1.9の実装がありますが、1.0のリリースからは程遠いです。 MRIはRuby 1.9を実装せず、おそらく決して実装しません。

しかし、なぜあなたが構文についてそんなに心配しているのか理解できません。構文の違いは、見つけるのが簡単です そうだった 構文の違い、エンジンは単にファイルを解析することを拒否し、何か問題があることがすぐにわかります。の違い セマンティクス 一方、はるかに危険です。

他のヒント

どのビットの「構文砂糖」を参照していますか?

Rubyには非常に小さなキーワードセットがあることに注意してください。最初はキーワードのように見える多くのものは、実際にはカーネルによって実装されています(例: require, puts, 、 と raise).

http://apidock.com/ruby/kernel

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top