Ruby 2.3.0-preview2 veröffentlicht

Wir freuen uns, die Veröffentlichung von Ruby 2.3.0-preview2 bekanntgeben zu können.

Bei Ruby 2.3.0-preview2 handelt es sich um die zweite Vorschau auf Ruby 2.3.0, in die viele neue Features und Verbesserungen eingeflossen sind.

So wird etwa das Pragma für eingefrorene String-Literale eingeführt. Bereits seit Ruby 2.1 handelt es sich bei "str".freeze um eine auf besseren Speicherverbrauch optimierte Operation; mit Ruby 2.3 werden nunmehr ein neuer magischer Kommentar und eine Kommandozeilenoption eingeführt, die alle String-Literale im Quellcode einfrieren. Zu Debugging-Zwecken können Sie mithilfe des Schalters --debug=frozen-string-literal feststellen, an welcher Stelle das Objekt erstellt wird, welches den Fehler "can't modify frozen String" auslöst.

Daneben wird der Safe Navigation Operator eingeführt, wie er bereits aus C#, Groovy und Swift bekannt ist. Er erleichtert die Behandlung von nil als obj.&foo. Außerdem wurden Array#dig und Hash#dig hinzugefügt.

Das did_you_mean-Gem wird mitgeliefert. Dieses Gem gibt mögliche Kandidaten bei einem NameError oder NoMethodError aus, um so das Debugging zu vereinfachen.

Experimentell eingeführt werden RubyVM::InstructionSequence#to_binary und .load_from_binary. Diese beiden Features ermöglichen die Einrichtung eines auf ISeq (Bytecode) basierenden Vorkompilationssystems.

Daneben enthält Ruby 2.3 zahlreiche die Performanzoptimierung betreffende Verbesserungen, darunter etwa die Optimierung von Proc#call, eine neue tabellarische Datenstruktur, Optimierungen auf Maschinencodeebene für Objektallozierung und Methodenaufrufverarbeitung, und vieles andere mehr.

Probieren Sie Ruby 2.3.0-preview2 aus, haben Sie Spaß daran und lassen Sie uns an Ihren Erfahrungen teilhaben!

Wesentliche Änderungen seit 2.2

Siehe die NEWS und das ChangeLog für Details.

Mit diesen Änderungen wurden seit Ruby 2.2.0 1097 Dateien geändert, 97466 Einfügungen(+), 58685 Löschungen(-)!

Download

  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2

    • SIZE: 14126752 bytes
    • SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810
    • SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb
    • SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz

    • SIZE: 17623519 bytes
    • SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d
    • SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3
    • SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz

    • SIZE: 11249780 bytes
    • SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b
    • SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11
    • SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87
  • https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip

    • SIZE: 19841531 bytes
    • SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6
    • SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d
    • SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65

Veröffentlichungskommentar

Siehe den Veröffentlichungszeitplan und andere Informationen:

ReleaseEngineering23