Ruby 2.4.0 veröffentlicht

Gepostet von naruse am 25. Dez 2016

Wir freuen uns, die Veröffentlichung von Ruby 2.4.0 bekannt zu geben.

Ruby 2.4.0 ist die erste stabile Version der Ruby 2.4-Serie. Sie führt viele neue Funktionen ein, zum Beispiel

Einführung von Hash-Tabellen-Verbesserungen (von Vladimir Makarov)

Verbesserung der internen Struktur von Hash-Tabellen (st_table) durch Einführung von Open Addressing und einem Inclusion-Order-Array. Diese Verbesserung wurde mit vielen Leuten besprochen, insbesondere mit Yura Sokolov.

Binding#irb: Starten einer REPL-Sitzung ähnlich wie bei binding.pry

Beim Debuggen verwenden Sie möglicherweise oft p, um den Wert von Variablen anzuzeigen. Mit pry können Sie binding.pry in Ihrer Anwendung verwenden, um eine REPL zu starten und beliebigen Ruby-Code auszuführen. r56624 führt binding.irb ein, das sich wie dies mit irb verhält.

Vereinheitlichung von Fixnum und Bignum zu Integer

Obwohl ISO/IEC 30170:2012 keine Details zur Integer-Klasse spezifiziert, hatte Ruby zwei sichtbare Integer-Klassen: Fixnum und Bignum. Ruby 2.4 vereinheitlicht diese zu Integer. Alle C-Erweiterungen, die die Fixnum- oder Bignum-Klasse berühren, müssen angepasst werden.

Siehe auch das Ticket und akr’s Folien.

String unterstützt Unicode-Groß-/Kleinschreibungsumwandlungen

String/Symbol#upcase/downcase/swapcase/capitalize(!) behandeln jetzt Unicode-Groß-/Kleinschreibungsumwandlungen anstelle von nur ASCII-Groß-/Kleinschreibungsumwandlungen.

Leistungsverbesserungen

Ruby 2.4 enthält auch die folgenden Leistungsverbesserungen, einschließlich Sprachänderungen

Array#max, Array#min

[x, y].max und [x, y].min sind optimiert, um unter bestimmten Bedingungen kein temporäres Array zu erstellen.

Regexp#match?

Hinzugefügt: Regexp#match?, das einen Regexp-Match ausführt, ohne ein Backreference-Objekt zu erstellen und $~ zu ändern, um die Objektzuweisung zu reduzieren.

Weitere Leistungsverbesserungen

Debugging

Thread#report_on_exception und Thread.report_on_exception

Ruby ignoriert Ausnahmen in Threads, es sei denn, ein anderer Thread wartet explizit auf sie. Mit report_on_exception = true können Sie feststellen, ob ein Thread aufgrund einer unbehandelten Ausnahme gestorben ist.

Senden Sie uns Feedback, was der Standard für report_on_exception sein sollte und über report-on-GC, das einen Bericht anzeigt, wenn ein Thread ohne Join vom Garbage Collector bereinigt wird.

Thread-Deadlock-Erkennung zeigt nun Threads mit ihrer Backtrace und Abhängigkeit an

Ruby verfügt über eine Deadlock-Erkennung für wartende Threads, aber der Bericht enthält nicht genügend Informationen für das Debugging. Die Deadlock-Erkennung von Ruby 2.4 zeigt Threads mit ihrer Backtrace und abhängigen Threads.

Weitere bemerkenswerte Änderungen seit 2.3

  • OpenSSL 1.1.0 Unterstützung (keine Unterstützung für 0.9.7 oder älter mehr)
  • ext/tk wurde aus der Standardbibliothek entfernt Feature #8539
  • XMLRPC wurde aus der Standardbibliothek entfernt Feature #12160

Einzelheiten finden Sie in NEWS oder in den Commit-Logs.

Mit diesen Änderungen wurden seit Ruby 2.3.0 2523 Dateien geändert, 289129 Einfügungen(+), 84670 Löschungen(-)!

Frohe Weihnachten, frohe Feiertage und viel Spaß beim Programmieren mit Ruby 2.4!

Herunterladen

  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2

    SIZE:   12572424 bytes
    SHA1:   944d2588308391b20a89642472454d1dfe7b2360
    SHA256: 440bbbdc49d08d3650f340dccb35986d9399177ad69a204def56e5d3954600cf
    SHA512: bef7bb53f63fb74073d071cc125fb67b273ed0779ef43c2d2969089b9ca21fff1bd012281c5b748f7a3c24dd26e71730d7248c05a01cb23ab2089eb4d02115fe
    
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.gz

    SIZE:   14104044 bytes
    SHA1:   d44a3c50a0e742341ed3033d5db79d865151a4f4
    SHA256: 152fd0bd15a90b4a18213448f485d4b53e9f7662e1508190aa5b702446b29e3d
    SHA512: 21c9f596b42dd9cba7a53963a59fed0c2e0c1eb960a4ac7087ea3eaa991ce9252d32639e1edcb75b1d709bc07c4820a6dc336ab427d0643c6e6498e0eacdbc8b
    
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.xz

    SIZE:   9906880 bytes
    SHA1:   038804bbd0e77508dd2510b729a9f3b325489b2e
    SHA256: 3a87fef45cba48b9322236be60c455c13fd4220184ce7287600361319bb63690
    SHA512: 975a5388592adc038461e0acebb6c0efee242891b2ea8621476401458efe2bc0fdd317d3bf99beb745b0b3808410efdff33862da29c95c027f457943721e3ab6
    
  • https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.zip

    SIZE:   15758757 bytes
    SHA1:   29e1bab11551011718c35a51827edcb55bd656fc
    SHA256: 5c2bbfa26fd6a15a2d70961874b0f3a386206fcc5f698e240dd8b0c9f0f18c5e
    SHA512: 31d932372ce490eeac0a70bc8dcf842909a90435422398d069c05cf01d994936064b8f4e60879e28a8655c1296eb8e180e348cb95e001ed6ca73cda0ff77de23
    

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...