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
-
<URL:https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.bz2>
SIZE: 10814890 bytes MD5: 895c1c581f8d28e8b3bb02472b2ccf6a SHA256: c680d392ccc4901c32067576f5b474ee186def2fcd3fcbfa485739168093295f -
<URL:https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz>
SIZE: 13608925 bytes MD5: 50d307c4dc9297ae59952527be4e755d SHA256: aff85ba5ceb70303cb7fb616f5db8b95ec47a8820116198d1c866cc4fff151ed -
<URL:https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.zip>
SIZE: 15037340 bytes MD5: db5af5d6034646ad194cbdf6e50f49ee SHA256: 0d0af6a9c8788537efd8d7d2358ce9468e6e2b7703dacba9ebd064d8b7da5f99
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:syntaxStabilitä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
- <URL:http://blog.marc-andre.ca/2013/02/23/ruby-2-by-example> (umfassend, empfohlen)
- <URL:https://speakerdeck.com/shyouhei/whats-new-in-ruby-2-dot-0> (umfassend, empfohlen)
- <URL:http://el.jibun.atmarkit.co.jp/rails/2012/11/ruby-20-8256.html> (kurz, auf Japanisch)
- <URL:https://speakerdeck.com/nagachika/rubyist-enumeratorlazy> (nur Enumerator::Lazy, auf Japanisch)
Die folgenden Artikel sind ebenfalls hilfreich, aber veraltet in Bezug auf Refinements
- <URL:http://rubysource.com/a-look-at-ruby-2-0/>
- <URL:https://speakerdeck.com/a_matsuda/ruby-2-dot-0-on-rails>
- <URL:http://globaldev.co.uk/2012/11/ruby-2-0-0-preview-features/>
- <URL:http://www.infoq.com/news/2012/11/ruby-20-preview1>
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