Frage

Haben alle Ruby-Interpreter die gleiche Ruby-Syntax definiert in www.ruby-lang.org?

folgen
  • MRI
  • YARV
  • Rubinius
  • JRuby
  • IronRuby

Weil es der Interpret ist, der die Sprache Ruby definiert. Heißt das, ein Dolmetscher könnte ein Merkmal / syntaktischen Zucker hinzufügen, dass andere Dolmetscher nicht?

Wenn das der Fall ist, haben alle Dolmetscher ihre eigene API-Dokumentation haben?

Denn ich bin mit: http://ruby-doc.org/ruby -1.9 / index.html .

Welche Dolmetscher, dass man umsetzen?

Könnte jemand werfen ein Licht auf dieses Thema.

Danke!

War es hilfreich?

Lösung

  

Haben alle Ruby-Interpreter die gleiche Ruby-Syntax definiert in www.ruby-lang.org?

folgen

Ja, sie alle verwenden die gleiche Syntax. In der Tat, sie tatsächlich alle die gleichen Parser, oder zumindest ein Parser, der automatisch von der gleichen Quelldatei erzeugt wurde.

  

Denn ich bin mit: http://ruby-doc.org/ruby -1.9 / index.html .

     

Welche Dolmetscher, dass man umsetzen?

Im Moment der einzigen produktionsfertige Motor Ruby-Ausführung, dass Geräte Ruby 1.9 voll ist YARV.

JRuby selbst ist produktionsbereit, und es implementiert sowohl Ruby-1.8.7 und Ruby 1.9.2, aber die Umsetzung Rubin 1.9.2 ist noch nicht vollständig. IronRuby und Rubinius arbeiten auch an Implementierungen von Ruby 1.9.2. MacRuby hat eine ziemlich vollständige Ruby 1.9 Implementierung, aber es ist noch weit von einer 1,0-Release. MRI nicht implementiert Ruby 1.9 und wahrscheinlich nie.

Aber ich verstehe nicht, warum du so über die Syntax befassen. Syntax Unterschiede sind trivial zu erkennen: Wenn es waren ein Unterschied in der Syntax, der Motor einfach würde sich weigern, Ihre Datei zu analysieren und Sie würden wissen sofort, dass etwas nicht in Ordnung ist. Unterschiede in Semantik auf der anderen Seite ist viel gefährlicher.

Andere Tipps

Welche „syntaktischer Zucker“ Bit beziehen Sie sich?

Beachten Sie, dass Rubin eine sehr kleine Menge von Schlüsselwörtern hat. Eine Menge Sachen, die ein Schlüsselwort zunächst zu sein scheint tatsächlich von Kernel (zB require, puts und raise) umgesetzt wird.

http://apidock.com/ruby/Kernel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top