Skip to content

Commit 9d67871

Browse files
committed
Translate 2.7.0-preview release post (de)
1 parent 963104f commit 9d67871

File tree

1 file changed

+183
-0
lines changed

1 file changed

+183
-0
lines changed
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 2.7.0-preview1 veröffentlicht"
4+
author: "naruse"
5+
translator: "Marvin Gülker"
6+
date: 2019-05-30 00:00:00 +0000
7+
lang: de
8+
---
9+
10+
Wir freuen uns, die Veröffentlichung von Ruby 2.7.0-preview1
11+
bekanntgeben zu können.
12+
13+
Diese Vorschau wird veröffentlicht, um bis zur geplanten finalen
14+
Freigabe im Dezember Erfahrungsberichte sammeln zu können. Sie enthält
15+
eine Anzahl neuer Funktionalitäten und Performanzverbesserungen,
16+
namentlich:
17+
18+
* Defragmentierung für den GC _(Campaction GC)_
19+
* Musterabgleiche
20+
* Verbesserungen der interaktiven Kommandozeile _(REPL)_
21+
22+
## Defragmentierender GC
23+
24+
Die neue Version wird einen defragmentierenden GC _(Compaction GC)_
25+
einführen, der fragmentierten Arbeitsspeicherplatz defragmentieren
26+
kann.
27+
28+
Einige Ruby-Programme, die mit mehreren Threads arbeiten, leiden
29+
derzeit unter Speicherfragmentierung. Dies verursacht einen hohen
30+
Speicherverbrauch und eine reduzierte Ausführungsgeschwindigkeit.
31+
32+
Zur Behebung des Problems wird die neue Methode `GC.compact`
33+
eingeführt. Sie defragmentiert den Freispeicher _(Heap)_, indem sie
34+
noch aktive Objekte näher zusammenrückt, sodass weniger Speicherseiten
35+
benötigt werden und der Freispeicher insgesamt besser für
36+
Copy-on-Write geeignet ist. [#15626](https://bugs.ruby-lang.org/issues/15626)
37+
38+
## Musterabgleiche [Experimentell]
39+
40+
Musterabgleiche sind eine häufig genutzte Funktion funktionaler
41+
Programmiersprachen. Mit 2.7.0 werden sie als experimentell in die
42+
Programmiersprache Ruby eingeführt. [#14912](https://bugs.ruby-lang.org/issues/14912)
43+
Ein Musterabgleich untersucht das übergebene Objekt und weist seinen
44+
Wert dann zu, wenn er auf ein bestimmtes Muster passt.
45+
46+
```ruby
47+
case JSON.parse('{...}', symbolize_names: true)
48+
in {name: "Alice", children: [{name: "Bob", age: age}]}
49+
p age
50+
...
51+
end
52+
```
53+
54+
Weitere Details können Sie der Präsentation [Musterabgleiche - Neue Funktion in Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7)
55+
entnehmen.
56+
57+
## Verbesserung der interaktiven Kommandozeile
58+
59+
Die mitgelieferte interaktive Kommandozeile `irb` _(REPL: Read-Eval-Print-Loop)_
60+
wird mehrzeiliges Editieren unterstützen. Dies wird mithilfe von
61+
`reline`, einer `readline`-kompatiblen reinen Ruby-Bibliothek,
62+
umgesetzt. Darüber hinaus wird `irb` besser mit RDoc integriert: es
63+
wird möglich, die Referenzdokumentation für eine bestimmte Klasse,
64+
ein bestimmtes Modul oder auch eine bestimmte Methode nachzuschlagen.
65+
[#14683](https://bugs.ruby-lang.org/issues/14683),
66+
[#14787](https://bugs.ruby-lang.org/issues/14787),
67+
[#14918](https://bugs.ruby-lang.org/issues/14918)
68+
Schließlich werden von `binding.irb` angezeigte Quellcode-Zeilen und
69+
Ergebnisse von `inspect` farblich hevorgehoben werden.
70+
71+
<video autoplay="autoplay" controls="controls" muted="muted" width="576" height="259">
72+
<source src="https://cache.ruby-lang.org/pub/media/irb_improved_with_key_take2.mp4" type="video/mp4">
73+
</video>
74+
75+
## Sonstige bemerkenswerte neue Funktionen
76+
77+
* Ein Methoden-Referenz-Operator, <code>.:</code>, wird als
78+
experimentell eingeführt. [#12125](https://bugs.ruby-lang.org/issues/12125), [#13581](https://bugs.ruby-lang.org/issues/13581)
79+
80+
* Blockparameter werden für abgekürzten Zugriff automatisch nummeriert (experimentell).
81+
[#4475](https://bugs.ruby-lang.org/issues/4475)
82+
83+
* Ruby verfügt bereits über endlose Range-Objekte. Nunmehr werden auch
84+
anfangslose Range-Objekte eingeführt. Diese sind vielleicht nicht so
85+
nützlich wie endlose Range-Objekte, könnten aber für
86+
domänenspezifische Sprachen praktisch sein.
87+
[#14799](https://bugs.ruby-lang.org/issues/14799)
88+
89+
ary[..3] # identical to ary[0..3]
90+
rel.where(sales: ..100)
91+
92+
* `Enumerable#tally` wird hinzugefügt. Die Methode zählt das Vorkommen
93+
jedes Elements.
94+
95+
["a", "b", "c", "b"].tally
96+
#=> {"a"=>1, "b"=>2, "c"=>1}
97+
98+
## Performanzverbesserungen
99+
100+
* JIT [Experimentell]
101+
102+
* JIT-kompilierter Code wird neu zu weniger optimiertem Code
103+
kompiliert, wenn eine Optimierungsannahme sich als falsch
104+
herausstellt.
105+
106+
* Method-Inlining wird durchgeführt, wenn eine Methode als rein
107+
_(pure)_ gilt. Diese Optimierung ist noch experimentell und
108+
zahlreiche Methoden gelten noch nicht als rein.
109+
110+
* Der Standardwert von `--jit-min-calls` wird von 5 auf 10.000
111+
geändert.
112+
113+
* Der Standardwert von `--jit-max-cache` wird von 1.000 auf 100
114+
geändert.
115+
116+
## Sonstige bemerkenswerte Änderungen seit 2.6
117+
118+
* Die Nutzung von `Proc.new` und `proc` ohne Block in einer Methode,
119+
die einen Block erwartet, führt nun zu einer Warnung.
120+
121+
* Die Nutzung von `lambda` ohne block in einer Methode, die einen
122+
Block erwartet, erzeugt einen Fehler.
123+
124+
* Die Unicode- und Emoji-Version werden von 11.0.0 auf 12.0.0 angehoben.
125+
[[Feature #15321]](https://bugs.ruby-lang.org/issues/15321)
126+
127+
* Die Unicode-Version wird auf 12.1.0 angehoben, um Unterstützung für
128+
U+32FF SQUARE ERA NAME REIWA zu erhalten. [[Feature #15195]](https://bugs.ruby-lang.org/issues/15195)
129+
130+
* `Date.jisx0301`, `Date#jisx0301` und `Date.parse` implementieren
131+
provisorische Unterstützung für die neue japanische Ära. Dies ist
132+
keine offiziell unterstützte Änderung, sondern provisorisch bis zur
133+
Freigabe von JIS X 0301.
134+
[[Feature #15742]](https://bugs.ruby-lang.org/issues/15742)
135+
136+
* Ruby nutzt jetzt C99, welches der Compiler unterstützen muss.
137+
[[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
138+
* Details zum genutzten Dialekt: <https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99>
139+
140+
141+
Siehe die
142+
[NEWS](https://github.com/ruby/ruby/blob/v2_7_0_preview1/NEWS) oder
143+
die
144+
[Commit-Logs](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1)
145+
für weitere Details.
146+
147+
Mit diesen Änderungen wurden [1727 Dateien geändert, 76022 Einfügungen(+), 60286 Löschungen(-)](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1) seit Ruby 2.6.0!
148+
149+
Viel Spaß bei der Programmierung mit Ruby 2.7!
150+
151+
## Download
152+
153+
* <https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.gz>
154+
155+
SIZE: 16021286 bytes
156+
SHA1: 2fbecf42b03a9d4391b81de42caec7fa497747cf
157+
SHA256: c44500af4a4a0c78a0b4d891272523f28e21176cf9bc1cc108977c5f270eaec2
158+
SHA512: f731bc9002edd3a61a4955e4cc46a75b5ab687a19c7964f02d3b5b07423d2360d25d7be5df340e884ca9945e3954e68e5eb11b209b65b3a687c71a1abc24b91f
159+
* <https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.zip>
160+
161+
SIZE: 20283343 bytes
162+
SHA1: 7488346fa8e58203a38158752d03c8be6b1da65b
163+
SHA256: fdf25573e72e1769b51b8d541d0e1a894a5394dbfdf1b08215aa093079cca64c
164+
SHA512: b3b1f59dce94c242ef88a4e68381a4c3a6f90ba0af699083e5a1a00b0fb1dce580f057dad25571fe789ac9aa95aa6e9c071ebb330328dc822217ac9ea9fbeb3f
165+
* <https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.bz2>
166+
167+
SIZE: 14038296 bytes
168+
SHA1: f7e70cbc2604c53a9e818a2fc59cd0e2d6c859fa
169+
SHA256: d45b4a1712ec5c03a35e85e33bcb57c7426b856d35e4f04f7975ae3944d09952
170+
SHA512: a36b241fc1eccba121bb7c2cc5675b11609e0153e25a3a8961b67270c05414b1aa669ce5d4a5ebe4c6b2328ea2b8f8635fbba046b70de103320b3fdcb3d51248
171+
* <https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.xz>
172+
173+
SIZE: 11442988 bytes
174+
SHA1: 45e467debc194847a9e3afefb20b11e6dc28ea31
175+
SHA256: 8c546df3345398b3edc9d0ab097846f033783d33762889fd0f3dc8bb465c3354
176+
SHA512: d416e90bfa3e49cc0675c4c13243c8ec319b7a0836add1bd16bd7662d09eaf46656d26e772ef3b097e10779896e643edd8a6e4f885147e3235257736adfdf3b5
177+
178+
## Was ist Ruby
179+
180+
Die Programmiersprache Ruby wurde 1993 von Yukihiro „Matz“ Matsumoto
181+
erfunden und wird heute als quelloffene Software entwickelt. Sie läuft
182+
auf verschiedenen Plattformen und wird überall auf der Welt namentlich
183+
für die Webentwicklung genutzt.

0 commit comments

Comments
 (0)