Geschrieben von naruse am 8.9.2016
Übersetzt von Marvin Gülker
Wir freuen uns, die Veröffentlichung von Ruby 2.4.0-preview2 bekanntgeben zu können.
Ruby 2.4.0-preview2 ist die zweite Vorschau auf Ruby 2.4.0 und wird in der Absicht veröffentlicht, Meinungen und Feedback durch die Community einzuholen. Wir möchten Sie daher ermutigen, uns Rückmeldung zu geben, wodurch Sie noch Einfluss auf die weitere Entwicklung nehmen können.
Zusammenführung von Fixnum und Bignum in Integer
Obwohl ISO/IEC 30170:2012 keine näheren Bestimmungen über die Integer-Klasse trifft, führt Ruby mit Fixnum und Bignum zwei sichtbare Subklassen von Integer. Mit Ruby 2.4 werden diese mit Integer vereinigt. Daraus folgt, dass alle C-Extensions, die die Klassen Fixnum oder Bignum benutzen, überarbeitet werden müssen.
Siehe dazu auch das dazugehörige Ticket und die Folien von akr.
String unterstützt Groß- und Kleinschreibung mit Unicode
Die Methoden String/Symbol#upcase/downcase/swapcase/capitalize(!)
wenden bei der Konvertierung in Groß- oder Kleinschreibung nunmehr
Unicode-Regeln anstelle der bisherigen ASCII-Regeln an.
Performanzverbesserungen
Ruby 2.4 enthält im Übrigen die folgenden Performanzverbesserungen, die Änderungen am Sprachverhalten mit sich bringen:
Array#max, Array#min
[x, y].max
and [x, y].min
wurden so optimiert, dass sie unter
bestimmten Bedingungen kein zusätzliches temporäres Array erzeugen.
Regexp#match?
Eine Methode Regexp#match?
wurde hinzugefügt, die einen Regulären
Ausdruck anwendet, ohne eine Backreference zu erstellen oder $~
zu
verändern, wodurch Objektallozierungen eingespart werden können.
Sonstige Performanzverbesserungen
Debugging
Thread#report_on_exception und Thread.report_on_exception
Exceptions in Threads werden von Ruby ignoriert, bis der betreffende
Thread mit einem anderen zusammengeführt (joined) wird. Wenn
report_on_exception = true
gesetzt ist, erhalten Sie einen Hinweis,
wenn ein Thread wegen einer nicht behandelten Exception abgestürzt
ist.
Geben Sie uns Rückmeldung über das gewünschte Standardverhalten von
report_on_exception
und über report-on-GC, welches eine Nachricht
anzeigt, wenn ein Thread vom GC vernichtet wird, ohne zuvor mit
einem anderen Thread zusammengeführt worden zu sein.
Deadlock-Erkennung für Threads zeigt Threads nun mit Backtrace und Abhängkeiten
Zwar besitzt Ruby eine Deadlock-Erkennung bezüglich wartender Threads, aber ihre Meldungen enthalten nicht ausreichend Informationen für sinnvolles Debugging. Die Deadlock-Erkennung von Ruby 2.4 listet Threads nun mit ihrem Backtrace und abhängigen Threads.
Versuchen Sie Ruby 2.4.0-preview1, haben Sie Spaß daran und geben Sie Rückmeldung!
Sonstige wesentliche Änderungen seit 2.3
- Unterstützung von OpenSSL 1.1.0
- ext/tk wurde aus der stdlib entfernt Feature #8539
Siehe die NEWS und das ChangeLog für weitere Informationen.
Mit diesen Änderungen wurden seit Ruby 2.3.0 2353 Dateien geändert, 289057 Einfügungen(+), 73847 Löschungen(-)!
Download
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.bz2
- SIZE: 12463225 bytes
- SHA1: 95a501624f1cf4bb0785d3e17afd0ad099f66385
- SHA256: 2224c55b2d87b5c0f08d23a4618e870027dbc1cffbfb4a05efd19eac4ff4cf1d
- SHA512: 0c9a59a2f57a99c4ee8539a30f41da1de7547566203f89d856e1be9dbb44365754e6c470145dc9336eb324e0feb2f53d9fef18a1564968ac21f9ee528905949f
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.gz
- SIZE: 15586514 bytes
- SHA1: 492a13c4ddc1c0c218433acb00dcf7ddeef96fe0
- SHA256: fec544836428aada2dc593a8cc42ce330798a805e49ecb807a0e21b386fd0b14
- SHA512: 5a3de852a7611e79f38219ed7bb13772aaabb25538ca843d38743180a0cc939a4e34c008b61d578da785285196b6b8882270bddc17cbed481237db8afa4c54e4
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.xz
- SIZE: 9886832 bytes
- SHA1: 95d5fd7d54d86497194f69ec433755a517dcde8f
- SHA256: 6c2d25bedc50c2f19b0e349f0ffd9b9a83000d9cb6a677bf5372fb493d33e16a
- SHA512: b9bd898d17583103ee61b4764ac86eb62c9661fca1f41ff0d06a15965a0a1ba581491d4b8a342e527d63e102b6ddcb2acebdabe5b246409ce9711e13f9428d5b
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.zip
- SIZE: 17401564 bytes
- SHA1: 5f3a5b2fd03f70d49e74ec36be3e0c110f6c17cc
- SHA256: 4d0e466148283ad52208b1e1b70b018aefb7fa95b490fc862d5ea4ca284ecdd2
- SHA512: 0ef2098d995238580245a4bcee843641199c1194189be13614611e2ffec329278072319a799d409eaf13b1cff45f05a0eae02d9ea8ccc69058fa49e03eca0130
Veröffentlichungskomentar
Siehe den Veröffentlichungsplan und andere Informationen: