Ruby 2.0.0-p0 wird veröffentlicht

Gepostet von Yusuke Endoh am 24. Feb 2013

Wir freuen uns, die Veröffentlichung von Ruby 2.0.0-p0 bekannt zu geben.

Ruby 2.0.0 ist die erste stabile Version der Ruby 2.0-Serie mit vielen neuen Funktionen und Verbesserungen als Reaktion auf die zunehmend vielfältigen und wachsenden Anforderungen an Ruby.

Viel Spaß beim Programmieren mit Ruby 2.0.0!

Herunterladen

Was ist Ruby 2.0.0

Neue Funktionen

Einige der Highlights

  • Sprachkernfunktionen
    • Schlüsselwortargumente, die Flexibilität für das API-Design bieten
    • Module#prepend, eine neue Methode zur Erweiterung einer Klasse
    • Ein literaler %i, der einfach ein Array von Symbolen erstellt
    • __dir__, der den Verzeichnispfad der aktuell ausgeführten Datei zurückgibt
    • Die Standardkodierung UTF-8, wodurch viele Magic Comments entfallen können
  • Eingebaute Bibliotheken
    • Enumerable#lazy und Enumerator::Lazy für (möglicherweise unendliche) Lazy-Streams
    • Enumerator#size und Range#size für die Lazy-Größenbewertung
    • #to_h, eine neue Konvention für die Konvertierung in Hash
    • Onigmo, eine neue Regex-Engine (ein Fork von Oniguruma)
    • API für asynchrone Ausnahmebehandlung
  • Debug-Unterstützung
    • DTrace-Unterstützung, die die Laufzeitdiagnose in der Produktion ermöglicht
    • TracePoint, eine verbesserte Tracing-API
  • Leistungsverbesserungen
    • GC-Optimierung durch Bitmap-Markierung
    • Kernel#require-Optimierung, die den Start von Rails sehr schnell macht
    • VM-Optimierungen wie Methodendispatch
    • Optimierung von Fließkommaoperationen

Darüber hinaus enthält 2.0.0, wenn auch als experimentelle Funktion, Refinements, die ein neues Konzept zur Modularität von Ruby hinzufügen.

Siehe auch NEWS für weitere Funktionen, Verbesserungen und Details.

Kompatibilität

Wir haben auch darauf geachtet, dass das Design von 2.0.0 mit 1.9 kompatibel ist. Die Migration von 1.9 auf 2.0 wird einfacher sein als von 1.8 auf 1.9. (Die bemerkenswerten Inkompatibilitäten werden später beschrieben.)

Dank der engagierten Arbeit von Drittanbietern wird berichtet, dass einige beliebte Anwendungen wie Rails und tDiary auf der Release Candidate-Version von 2.0.0 laufen.

Dokumentation

Wir haben auch Dokumentationsverbesserungen vorgenommen, die sich viele Rubyisten gewünscht haben. Wir haben eine riesige Menge an rdoc für Module und Methoden hinzugefügt. 2.0.0 wird zu etwa 75 % dokumentiert sein, während 1.9.3 etwa 60 % hatte. Außerdem haben wir eine Beschreibung der Ruby-Syntax hinzugefügt. Sie können sehen

ri ruby:syntax

Stabilität

Beachten Sie, dass 2.0.0 im Gegensatz zu 1.9.0 eine stabile Version ist, auch wenn ihre TEENY-Nummer 0 ist. Allen Bibliotheksautoren wird dringend empfohlen, 2.0.0 zu unterstützen. Wie oben erwähnt, wird die Migration von 1.9 auf 2.0 vergleichsweise einfach sein.

Ruby 2.0.0 ist einsatzbereit und wird Ihr Ruby-Leben absolut verbessern.

Hinweise

Einführende Artikel

Hier sind einige einführende Artikel zu den Funktionen von 2.0.0 von Drittanbietern

Die folgenden Artikel sind ebenfalls hilfreich, aber veraltet in Bezug auf Refinements

Außerdem enthält die aktuelle Ausgabe des "Rubyist Magazine" einige Artikel, die von den Feature-Autoren selbst geschrieben wurden, um einige neue Funktionen von 2.0.0 vorzustellen.

Obwohl sie auf Japanisch verfasst sein werden, sind englische Übersetzungen für die Zukunft geplant.

Inkompatibilitäten

Es gibt fünf bemerkenswerte Inkompatibilitäten, die uns bekannt sind

  • Die Standardkodierung für Ruby-Skripte ist jetzt UTF-8 [#6679]. Einige Leute berichten, dass dies bestehende Programme beeinträchtigt, z. B. dass einige Benchmark-Programme sehr langsam werden [ruby-dev:46547].
  • Iconv wurde entfernt, was bereits bei der Einführung von M17N in Ruby 1.9 als veraltet galt. Verwenden Sie stattdessen String#encode usw.
  • Es gibt ABI-Brüche [ruby-core:48984]. Wir denken, dass normale Benutzer Erweiterungsbibliotheken neu installieren können/sollten. Beachten Sie: KOPIEREN SIE KEINE .so- ODER .bundle-DATEIEN VON 1.9.
  • #lines, #chars, #codepoints, #bytes geben jetzt ein Array statt eines Enumerators zurück [#6670]. Diese Änderung ermöglicht es Ihnen, die gängige Idiomatik "lines.to_a" zu vermeiden. Verwenden Sie #each_line usw., um einen Enumerator zu erhalten.
  • Object#inspect gibt immer eine Zeichenfolge wie #<ClassName:0x…> zurück, anstatt an #to_s zu delegieren. [#2152]

Es gibt einige vergleichsweise geringfügige Inkompatibilitäten. [ruby-core:49119]

Status von Refinements

Wir haben eine Funktion namens Refinements hinzugefügt, die ein neues Konzept zur Modularität von Ruby einführt. Bitte beachten Sie jedoch, dass Refinements immer noch eine experimentelle Funktion ist: Wir können ihre Spezifikation in Zukunft ändern. Trotzdem möchten wir Sie bitten, damit zu experimentieren und uns Ihre Meinung mitzuteilen. Ihr Feedback wird dazu beitragen, diese interessante Funktion zu schmieden.

Danksagung

Sehr viele Leute haben zu 2.0.0 beigetragen. Selbst eine unvollständige Anerkennung nur für einige Teile der Beiträge wurde zu groß, um sie hier einzufügen. Entschuldigung, aber ich möchte nur einen Link zur Seite mit besonderen Dankesworten hinzufügen.

Vielen Dank an alle!

Aktuelle Nachrichten

Ruby 4.0.0 veröffentlicht

Wir freuen uns, die Veröffentlichung von Ruby 4.0.0 bekannt zu geben. Ruby 4.0 führt „Ruby Box“ und „ZJIT“ ein und bringt viele Verbesserungen mit sich.

Veröffentlicht von naruse am 25. Dez 2025

Ein neuer Look für Rubys Dokumentation

Nach dem Redesign von ruby-lang.org gibt es weitere Neuigkeiten zur Feier des 30-jährigen Jubiläums von Ruby: docs.ruby-lang.org hat ein komplett neues Erscheinungsbild mit Aliki – dem neuen Standard-Theme von RDoc.

Veröffentlicht von Stan Lo am 23. Dez 2025

Neues Website-Erscheinungsbild

Wir freuen uns, ein umfassendes Redesign unserer Website bekannt zu geben. Das Design für dieses Update wurde von Taeko Akatsuka erstellt.

Veröffentlicht von Hiroshi SHIBATA am 22. Dez 2025

Ruby 4.0.0 preview3 veröffentlicht

Wir freuen uns, die Veröffentlichung von Ruby 4.0.0-preview3 bekannt zu geben. Ruby 4.0 führt Ruby::Box und „ZJIT“ ein und bringt viele Verbesserungen mit sich.

Veröffentlicht von naruse am 18. Dez 2025

Weitere Neuigkeiten...