Setelah setahun pembangunan, terbitan Ruby 2.6.0 diterbitkan, bahasa pengaturcaraan berorientasikan objek yang dinamik, dicirikan oleh kecekapan pengembangan perisian yang tinggi dan menggabungkan ciri-ciri terbaik Perl, Java, Python, Smalltalk, Eiffel, Ada dan Lisp.
Kod projek diedarkan di bawah lesen BSD ("2-klausa BSDL") dan "Ruby", yang merujuk kepada lesen GPL terkini dan sepenuhnya mematuhi GPLv3.
Ruby 2.6 adalah versi utama keenam, disiapkan sebagai sebahagian daripada proses pembangunan yang dirancang, yang melibatkan peruntukan setahun untuk menyiapkan penambahbaikan fungsional dan membuat versi pembetulan setiap 2-3 bulan.
Ciri baru utama dalam Ruby 2.6.0
Dengan keluaran baru Ruby ini menambahkan pelaksanaan eksperimental penyusun JIT, yang membolehkan anda meningkatkan prestasi aplikasi dengan ketara dalam bahasa Ruby.
Tidak seperti penyusun JIT tradisional, yang menghasilkan arahan mesin dengan cepat, penyusun JIT yang dicadangkan di Ruby terlebih dahulu menulis kod C ke cakera, kemudian memanggil penyusun C luaran untuk menghasilkan arahan mesin (disokong GCC, Clang dan Microsoft VC ++).
Untuk mengaktifkan JIT, anda mesti menentukan pilihan "–jit" semasa memulakan ruby atau menetapkan pilihan ini dalam pemboleh ubah persekitaran RUBYOPT.
Berbanding dengan Ruby 2.5, kemasukan JIT rata-rata 1.7 kali prestasi aplikasi intensif CPU.
Pada masa yang sama, pembangunan masih eksperimental dan tidak sesuai untuk beban yang berkaitan dengan kerja intensif memori.
Penambahbaikan lain yang diperoleh dalam versi ini adalah RubyVM :: Modul eksperimen AbstractSyntaxTree, yang menyediakan kaedah penghuraian yang memproses rentetan yang dilewatkan sebagai kod Ruby dan mengembalikan Abstrak Sintaks Pohon (AST) untuk kod ini.
Sekarang alias "#then" dapat digunakan untuk mengakses kaedah "Kernel # yield_self". Untuk kaedah "Array # |" dan "Array # -" mencadangkan alias yang lebih mudah dibaca "Array # union" dan "Array # Difference".
Nama tetap sekarang boleh dimulakan dengan huruf besar selain ASCII.
Sokongan juga diberikan untuk Transient Heap, yang dimaksudkan untuk objek dengan jangka pendek menggunakan kelas tertentu (Array, Hash, Object, Struct).
Sebagai contoh, terima kasih kepada theap, mewujudkan hash kecil yang berumur pendek kini dua kali lebih pantas. Uji rdoc menunjukkan peningkatan hasil 6-7%.
Untuk meningkatkan prestasi pertukaran konteks, pelaksanaan coroutine asli dicadangkan untuk seni bina arm32, arm64, ppc64le, win32, win64, x86, dan amd64. "Fiber.yield" dan "Fiber # resume" pada sistem Linux 64-bit kini berjalan hampir 5 kali lebih pantas.
Secara amnya, program intensif menunjukkan peningkatan prestasi sebanyak 5%.
Peningkatan besar dalam Ruby 2.6.0
Versi RubyGems 3.0.1 yang dikemas kini telah diterima, di mana sokongan untuk pilihan "–ri" dan "–rdoc" telah dihentikan, dan bukannya anda harus menggunakan "–document" dan "–no-document".
Bundler kini dipasang secara lalai untuk menguruskan pergantungan permata.
Menambah sokongan untuk julat yang belum selesai, misalnya, "ary [1 ..]" atau "(1 ..). Setiap {…} ».
Daripada penambahbaikan lain yang dapat diketengahkan, anda dapat menemui:
- Pilihan pengecualian telah ditambahkan ke kaedah sistem Kernel # untuk meningkatkan pengecualian pada kesalahan dan bukannya kembali palsu.
- Mod oneshot telah ditambahkan ke modul liputan, yang memeriksa apakah setiap baris dijalankan sekurang-kurangnya sekali.
- Enumerator :: Kelas rantai dan kaedah "Enumerable # chain" dan "Enumerator # +" yang dilaksanakan di dalamnya ditambahkan untuk membuat rantai nilai yang dihitung.
- Sokongan untuk pengendali «<<» dan «>>» telah ditambahkan ke modul Proc dan Method, sebagai contoh, pembinaan «(f << g) .call (3)» sama dengan «f (g (3 )) ".
Bagaimana cara memasang Ruby 2.6.0 di Linux?
Untuk mendapatkan Ruby versi baru ini, cukup buka terminal pada sistem anda dan taip salah satu perintah berikut
Debian, Ubuntu dan derivatif
sudo apt-get install ruby-full
CentOS, Fedora, dan RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos dan turunannya
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Perintah apt-get yum etc pergi ke repositori lalai pengedaran, yang biasanya sudah lama dan anda tidak akan mempunyai versi 2.6 melainkan versi lama yang lain.