Ditulis oleh naruse tanggal 2016-12-12
Diterjemahkan oleh meisyal
Kami dengan senang hati mengumumkan rilis dari Ruby 2.4.0-rc1.
Ruby 2.4.0-rc1 adalah kandidat rilis pertama dari Ruby 2.4.0. rc1 ini dirilis untuk mendapatkan umpan balik dari komunitas. Jangan ragu untuk mengirimkan umpan balik karena Anda masih bisa memperbaiki fitur-fitur.
Memperkenalkan penyempurnaan hash table (oleh Vladimir Makarov)
Menyempurnakan struktur internal dari hash table (st_table) dengan memperkenalkan open addressing dan sebuah inclusion order array. Penyempurnaan ini telah didiskusikan oleh banyak orang, khususnya Yura Sokolov.
Binding#irb: Memulai sebuah sesi REPL mirip dengan binding.pry
Selama Anda melakukan debugging, Anda mungkin sering menggunakan p
untuk
melihat nilai dari variabel-variabel. Dengan pry
Anda dapat menggunakan binding.pry
pada aplikasi Anda untuk meluncurkan
sebuah REPL dan menjalankan kode Ruby apapun.
r56624
memperkenalkan binding.irb
yang memiliki perilaku seperti itu dengan irb.
Menyatukan Fixnum dan Bignum ke dalam Integer
Meskipun ISO/IEC 30170:2012 tidak memerinci detail dari kelas Integer, Ruby telah memiliki dua kelas Integer: Fixnum dan Bignum. Ruby 2.4 menyatukan mereka ke dalam Integer, Semua ekstensi C yang bersentuhan dengan kelas Fixnum atau Bignum perlu untuk diperbaiki.
Lihat juga tiket dan akr’s slides.
String mendukung Unicode case mappings
String/Symbol#upcase/downcase/swapcase/capitalize(!)
sekarang menangani
Unicode case mappings selain hanya ASCII case mappings.
Perbaikan performa
Ruby 2.4 juga mencakup perbaikan performa berikut termasuk perubahan bahasa:
Array#max, Array#min
[x, y].max
dan [x, y].min
dioptimalkan untuk tidak membuat sebuah array
sementara dalam kondisi tertentu.
Regexp#match?
Penambahan Regexp#match?
, yang mengeksekusi sebuah regexp match tanpa
membuat sebuah objek referensi kembali dan mengubah $~
untuk mengurangi
alokasi objek.
Perbaikan performa lainnya
Debugging
Thread#report_on_exception dan Thread.report_on_exception
Ruby mengabaikan exception pada thread kecuali jika thread lain secara
langsung bergabung dengannya. Dengan report_on_exception = true
, Anda dapat
memperhatikan jika sebuah thread telah mati karena unhandled exception.
Kirimkan umpan balik apa yang seharusnya default untuk report_on_exception
dan tentang report-on-GC, yang menunjukkan sebuah laporan ketika sebuah
thread di-garbage collected tanpa join.
Thread deadlock detection sekarang menampilkan thread dengan backtrace dan dependency-nya
Ruby memiliki deadlock detection saat menunggu thread-thread, tetapi laporannya tidak mengandung cukup informasi untuk debugging. Deadlock detection dari Ruby 2.4 menunjukkan thread-thread dengan backtrace dan dependency-nya.
Coba dan nikmati memprogram dengan Ruby 2.4.0-rc1, dan kirimkan umpan balik ke kami!
Perubahan penting lainnya sejak 2.3
- Mendukung OpenSSL 1.1.0 (memberhentikan dukungan untuk 0.9.7 atau sebelumnya)
- ext/tk sekarang dihapus dari stdlib Fitur #8539
- XMLRPC sekarang dihapus dari stdlib Fitur #12160
Lihat NEWS atau riwayat commit untuk detail.
Dengan perubahan tersebut, 2519 berkas berubah, 288606 sisipan(+), 83896 terhapus(-) sejak Ruby 2.3.0!
Unduh
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.bz2
SIZE: 12512729 bytes SHA1: a0439652a97a2406b691e8a1e586e2cf08c258ba SHA256: 3b156b20f9df0dd62cbeeb8e57e66ea872d2a5b55fabdef1889650122bcc2ea7 SHA512: b43902ac7794487197df55a45256819d2e7540b77f1ed4eb68def3e0473ee98860a400862075bafadbde74f242e1dfe36a18cd6fe05ac42aae1ea6dddc9978ce
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.gz
SIZE: 14098505 bytes SHA1: 6b242f9ec7b908c9aa26e497440684ba06d86927 SHA256: e41ada7650eed2a5800534d1201ba7c88f1627085659df994f47ab4c5e327745 SHA512: 26d3c60483ce2d6eaabd7077085102fad6633f18cf5d772bacf6f563670030cb7bba22d54d8b7dfa5eac8b52990371c4a6ad1c095dff6f6b3a7bbe1a8ffb3754
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.tar.xz
SIZE: 9930088 bytes SHA1: 7c404e8bec9859f708927f7203d4f42187e678b7 SHA256: 3f014b3186d10676da6c512d14c65db23ccc4bf200fed9d7c6f9a58fd1e3295b SHA512: 22e209e28da1f2394f50c0a7dd5d0d4d4c0c5a6b5b0b02260fad0267a0940b98f0e2b0f36a44f87d1612555cb3022f43cd136a5186c7f87650aa20264408d415
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-rc1.zip
SIZE: 15785968 bytes SHA1: 7d82386434ccbb1701f2995286bf29c8b9179e01 SHA256: 14e6910e36618cddffeb22bad5f1052f907dc31ec93d4aa945bca0905d8a52c4 SHA512: 5dd89320d429e5bd5faf3709be7e5b70f7355304d6324d7ac13a69187e5f1446ad5988c8186bc33f4fea8934288294f9d16fea173f39b2b39967746c4b03d1d4
Komentar Rilis
Lihat juga jadwal rilis dan informasi lainnya: