|
| 1 | +--- |
| 2 | +layout: news_post |
| 3 | +title: "Ruby 2.4.0-preview3 veröffentlicht" |
| 4 | +author: "naruse" |
| 5 | +translator: "Marvin Gülker" |
| 6 | +date: 2016-11-09 18:00:00 +0900 |
| 7 | +lang: de |
| 8 | +--- |
| 9 | + |
| 10 | +Wir freuen uns, die Veröffentlichung von Ruby 2.4.0-preview3 |
| 11 | +ankündigen zu können. |
| 12 | + |
| 13 | +Ruby 2.4.0-preview3 ist die dritte Vorschau auf Ruby 2.4.0 und wird in |
| 14 | +der Absicht veröffentlicht, Feedback von der Gemeinschaft zu |
| 15 | +erhalten. Bitte [geben Sie uns |
| 16 | +Rückmeldung](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport), |
| 17 | +da Sie immer noch Einfluss auf die Features nehmen können. |
| 18 | + |
| 19 | +## [Verbesserung der Hash-Tabellen von Wladimir Makarow](https://bugs.ruby-lang.org/issues/12142) |
| 20 | + |
| 21 | +Die interne Struktur von Hash-Tabellen (st_table) wird durch die |
| 22 | +Einführung offener Adressierung _(open addressing)_ und eines die |
| 23 | +Einfügungsreihenfolge beibehaltenden Arrays _(inclusion order array)_ |
| 24 | +verbessert. |
| 25 | +Diese Verbesserung ist mit diversen Leuten diskutiert worden, |
| 26 | +insbesondere mit Jura Sokolow. |
| 27 | + |
| 28 | +## Binding#irb: Startet eine REPL-Sitzung wie `binding.pry` |
| 29 | + |
| 30 | +Im Rahmen von Debugging ist es oft erforderlich, sich Variablenwerte |
| 31 | +mithilfe von `p` anzeigen zu lassen. Mit |
| 32 | +[pry](https://github.com/pry/pry) war es möglich, durch Einfügen der |
| 33 | +Anweisung `binding.pry` in die Anwendung an der betroffenen Stelle |
| 34 | +eine REPL zu starten und beliebigen Ruby-Code auszuführen. Mit |
| 35 | +[r56624](https://github.com/ruby/ruby/commit/493e48897421d176a8faf0f0820323d79ecdf94a) |
| 36 | +wird `binding.irb` eingeführt, das sich ganz ähnlich verhält, aber |
| 37 | +eine reguläre IRB startet. |
| 38 | + |
| 39 | +## [Zusammenführung von Fixnum und Bignum in Integer](https://bugs.ruby-lang.org/issues/12005) |
| 40 | + |
| 41 | +Obwohl [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579) |
| 42 | +keine näheren Bestimmungen über die Integer-Klasse trifft, führt Ruby |
| 43 | +mit Fixnum und Bignum zwei sichtbare Subklassen von Integer. Mit Ruby |
| 44 | +2.4 werden diese mit Integer vereinigt. |
| 45 | +Daraus folgt, dass alle C-Extensions, die die Klassen Fixnum oder |
| 46 | +Bignum benutzen, überarbeitet werden müssen. |
| 47 | + |
| 48 | +Siehe dazu auch [das dazugehörige Ticket](https://bugs.ruby-lang.org/issues/12005) und [die Folien von akr](http://www.a-k-r.org/pub/2016-09-08-rubykaigi-unified-integer.pdf). |
| 49 | + |
| 50 | +## [String unterstützt Groß- und Kleinschreibung mit Unicode](https://bugs.ruby-lang.org/issues/10085) |
| 51 | + |
| 52 | +Die Methoden `String/Symbol#upcase/downcase/swapcase/capitalize(!)` |
| 53 | +wenden bei der Konvertierung in Groß- oder Kleinschreibung nunmehr |
| 54 | +Unicode-Regeln anstelle der bisherigen ASCII-Regeln an. |
| 55 | + |
| 56 | +## Performanzverbesserungen |
| 57 | + |
| 58 | +Ruby 2.4 enthält im Übrigen die folgenden Performanzverbesserungen, |
| 59 | +die Änderungen am Sprachverhalten mit sich bringen: |
| 60 | + |
| 61 | +### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172) |
| 62 | + |
| 63 | +`[x, y].max` and `[x, y].min` wurden so optimiert, dass sie unter |
| 64 | +bestimmten Bedingungen kein zusätzliches temporäres Array erzeugen. |
| 65 | + |
| 66 | +### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110) |
| 67 | + |
| 68 | +Eine Methode `Regexp#match?` wurde hinzugefügt, die einen Regulären |
| 69 | +Ausdruck anwendet, ohne eine Backreference zu erstellen oder `$~` zu |
| 70 | +verändern, wodurch Objektallozierungen eingespart werden können. |
| 71 | + |
| 72 | +### Sonstige Performanzverbesserungen |
| 73 | + |
| 74 | +* [Zugriff auf Instanzvariablen beschleunigt](https://bugs.ruby-lang.org/issues/12274) |
| 75 | + |
| 76 | +## Debugging |
| 77 | + |
| 78 | +### [Thread#report_on_exception und Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647) |
| 79 | + |
| 80 | +Exceptions in Threads werden von Ruby ignoriert, bis der betreffende |
| 81 | +Thread mit einem anderen zusammengeführt _(joined)_ wird. Wenn |
| 82 | +`report_on_exception = true` gesetzt ist, erhalten Sie einen Hinweis, |
| 83 | +wenn ein Thread wegen einer nicht behandelten Exception abgestürzt |
| 84 | +ist. |
| 85 | + |
| 86 | +Geben Sie uns Rückmeldung über das gewünschte Standardverhalten von |
| 87 | +`report_on_exception` und über report-on-GC, welches eine Nachricht |
| 88 | +anzeigt, wenn ein Thread vom GC vernichtet wird, ohne zuvor mit |
| 89 | +einem anderen Thread zusammengeführt worden zu sein. |
| 90 | + |
| 91 | +### [Deadlock-Erkennung für Threads zeigt Threads nun mit Backtrace und Abhängkeiten](https://bugs.ruby-lang.org/issues/8214) |
| 92 | + |
| 93 | +Zwar besitzt Ruby eine Deadlock-Erkennung bezüglich wartender Threads, |
| 94 | +aber ihre Meldungen enthalten nicht ausreichend Informationen für |
| 95 | +sinnvolles Debugging. |
| 96 | +Die Deadlock-Erkennung von Ruby 2.4 listet Threads nun mit ihrem |
| 97 | +Backtrace und abhängigen Threads. |
| 98 | + |
| 99 | +Versuchen Sie Ruby 2.4.0-preview3, haben Sie Spaß daran und [geben Sie Rückmeldung](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)! |
| 100 | + |
| 101 | +## Sonstige wesentliche Änderungen seit 2.3 |
| 102 | + |
| 103 | +* Unterstützung von OpenSSL 1.1.0 |
| 104 | +* ext/tk wurde aus der stdlib entfernt [Feature #8539](https://bugs.ruby-lang.org/issues/8539) |
| 105 | +* XMLRPC wurde aus der stdlib entfernt [Feature #12160](https://bugs.ruby-lang.org/issues/12160) |
| 106 | + |
| 107 | +Siehe die [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview2/NEWS) |
| 108 | +und das [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview2/ChangeLog) |
| 109 | +für weitere Informationen. |
| 110 | + |
| 111 | +Mit diesen Änderungen wurden seit Ruby 2.3.0 |
| 112 | +[2470 Dateien geändert, 283051 Einfügungen(+), 64902 Löschungen(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview3)! |
| 113 | + |
| 114 | +## Download |
| 115 | + |
| 116 | +* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.bz2> |
| 117 | + |
| 118 | + SIZE: 12615328 bytes |
| 119 | + SHA1: fefe49f6a7d5b642936c324f3b05aaac827355db |
| 120 | + SHA256: 305a2b2c627990e54965393f6eb1c442eeddfa149128ccdd9f4334e2e00a2a52 |
| 121 | + SHA512: 6602c65a7b1e3bc680acc48217108f4335e84fdd74a9cf06f2e2f9ad00a2fccacf9fa035a912bc9d5cc3f0c7a5 |
| 122 | +e21475971dfac37b0364311ef3645f25c7ddf9 |
| 123 | + |
| 124 | +* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.gz> |
| 125 | + |
| 126 | + SIZE: 15758023 bytes |
| 127 | + SHA1: f6a6ec9f7fedad0bf4efee2e42801cc963f60dca |
| 128 | + SHA256: c35fe752ccfabf69bf48e6aab5111c25a05938b428936f780638e2111934c9dd |
| 129 | + SHA512: 68556d5252b6813b4c8eeba32733e940207f80694b5c5d20e69bf01eb52929ed2466496b05a895a5ad4831d430 |
| 130 | +695e17624eb35b728b2d4d7cf02df756ac48b4 |
| 131 | + |
| 132 | +* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.xz> |
| 133 | + |
| 134 | + SIZE: 9957596 bytes |
| 135 | + SHA1: 66592b1a52f985638d639e7c3dd6bdda4e0569d0 |
| 136 | + SHA256: b14be2b5c80bff0d6894ae2b37afdb17a968413e70236ec860f3e2d670b4c317 |
| 137 | + SHA512: 5be20f0b2609745790c2b22f2228e69a840f63c34a117a1f95fd5436af211f0a6db2758d513d3e095a2d97c53c |
| 138 | +80793579cb2a1e00e70cf72c487a88c4a40d33 |
| 139 | + |
| 140 | +* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.zip> |
| 141 | + |
| 142 | + SIZE: 17579012 bytes |
| 143 | + SHA1: 15d08cff952da3844ae54887b7f74b12d47c9ee2 |
| 144 | + SHA256: b95a8f67fb7d6e852db77c5660c8878c14d68eb72c5501dac164a7e640ecb06e |
| 145 | + SHA512: fa15e1b7ab0cab56c9a580e1b1e2fee250ee0b9c59546079675a1931a36e37131bd37d64033c75e05d8e9d9fcc |
| 146 | +33ce7850254d3acaca2136cf3bd08b070244f0 |
| 147 | + |
| 148 | +## Release Comment |
| 149 | + |
| 150 | +Siehe auch den Veröffentlichungsplan und andere Informationen: |
| 151 | + |
| 152 | +[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24) |
0 commit comments