Phát hành Ruby 2.4.0-preview3
Đăng bởi naruse vào 9 Nov 2016
Chúng tôi vui mừng thông báo phát hành Ruby 2.4.0-preview3.
Ruby 2.4.0-preview3 là bản xem trước thứ ba của Ruby 2.4.0. Bản preview3 này được phát hành để nhận phản hồi từ cộng đồng. Hãy thoải mái gửi phản hồi vì bạn vẫn có thể ảnh hưởng đến các tính năng.
Giới thiệu cải tiến bảng băm (bởi Vladimir Makarov)
Cải tiến cấu trúc nội bộ của bảng băm (st_table) bằng cách giới thiệu địa chỉ mở và một mảng thứ tự bao gồm. Cải tiến này đã được thảo luận với nhiều người, đặc biệt là Yura Sokolov.
Binding#irb: Bắt đầu phiên REPL tương tự binding.pry
Trong khi gỡ lỗi, bạn có thể thường sử dụng p để xem giá trị của biến.
Với pry bạn có thể sử dụng binding.pry trong ứng dụng
để khởi chạy REPL và chạy bất kỳ mã Ruby nào.
r56624
giới thiệu binding.irb hoạt động tương tự với irb.
Hợp nhất Fixnum và Bignum thành Integer
Mặc dù ISO/IEC 30170:2012 không chỉ định chi tiết về lớp Integer, Ruby có hai lớp Integer hiển thị: Fixnum và Bignum. Ruby 2.4 hợp nhất chúng thành Integer. Tất cả các phần mở rộng C liên quan đến lớp Fixnum hoặc Bignum cần được sửa.
Xem thêm ticket và slide của akr.
String hỗ trợ ánh xạ chữ hoa/thường Unicode
String/Symbol#upcase/downcase/swapcase/capitalize(!) giờ đây xử lý
ánh xạ chữ hoa/thường Unicode thay vì chỉ ánh xạ ASCII.
Cải thiện hiệu suất
Ruby 2.4 cũng bao gồm các cải thiện hiệu suất sau bao gồm các thay đổi ngôn ngữ:
Array#max, Array#min
[x, y].max và [x, y].min được tối ưu hóa để không tạo mảng tạm thời
trong một số điều kiện nhất định.
Regexp#match?
Thêm Regexp#match?, thực thi khớp biểu thức chính quy mà không tạo
đối tượng tham chiếu ngược và thay đổi $~ để giảm cấp phát đối tượng.
Các cải thiện hiệu suất khác
Gỡ lỗi
Thread#report_on_exception và Thread.report_on_exception
Ruby bỏ qua các ngoại lệ trong thread trừ khi một thread khác tường minh join chúng.
Với report_on_exception = true,
bạn có thể nhận biết nếu một thread đã chết do một ngoại lệ không được xử lý.
Gửi cho chúng tôi phản hồi về giá trị mặc định nên là gì cho report_on_exception
và về report-on-GC, hiển thị báo cáo khi một thread bị
thu gom rác mà không join.
Phát hiện deadlock Thread giờ đây hiển thị các thread với backtrace và dependency
Ruby có khả năng phát hiện deadlock xung quanh các thread đang chờ, nhưng báo cáo không bao gồm đủ thông tin để gỡ lỗi. Phát hiện deadlock của Ruby 2.4 hiển thị các thread với backtrace và các thread phụ thuộc.
Hãy thử và tận hưởng lập trình với Ruby 2.4.0-preview3, và gửi cho chúng tôi phản hồi!
Các thay đổi đáng chú ý khác kể từ 2.3
- Hỗ trợ OpenSSL 1.1.0
- ext/tk đã bị loại bỏ khỏi stdlib Feature #8539
- XMLRPC đã bị loại bỏ khỏi stdlib Feature #12160
Xem NEWS và ChangeLog để biết chi tiết.
Với những thay đổi đó, 2470 tập tin thay đổi, 283051 dòng thêm(+), 64902 dòng xóa(-) kể từ Ruby 2.3.0!
Tải về
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.bz2
SIZE: 12615328 bytes SHA1: fefe49f6a7d5b642936c324f3b05aaac827355db SHA256: 305a2b2c627990e54965393f6eb1c442eeddfa149128ccdd9f4334e2e00a2a52 SHA512: 6602c65a7b1e3bc680acc48217108f4335e84fdd74a9cf06f2e2f9ad00a2fccacf9fa035a912bc9d5cc3f0c7a5e21475971dfac37b0364311ef3645f25c7ddf9 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.gz
SIZE: 15758023 bytes SHA1: f6a6ec9f7fedad0bf4efee2e42801cc963f60dca SHA256: c35fe752ccfabf69bf48e6aab5111c25a05938b428936f780638e2111934c9dd SHA512: 68556d5252b6813b4c8eeba32733e940207f80694b5c5d20e69bf01eb52929ed2466496b05a895a5ad4831d430695e17624eb35b728b2d4d7cf02df756ac48b4 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.tar.xz
SIZE: 9957596 bytes SHA1: 66592b1a52f985638d639e7c3dd6bdda4e0569d0 SHA256: b14be2b5c80bff0d6894ae2b37afdb17a968413e70236ec860f3e2d670b4c317 SHA512: 5be20f0b2609745790c2b22f2228e69a840f63c34a117a1f95fd5436af211f0a6db2758d513d3e095a2d97c53c80793579cb2a1e00e70cf72c487a88c4a40d33 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview3.zip
SIZE: 17579012 bytes SHA1: 15d08cff952da3844ae54887b7f74b12d47c9ee2 SHA256: b95a8f67fb7d6e852db77c5660c8878c14d68eb72c5501dac164a7e640ecb06e SHA512: fa15e1b7ab0cab56c9a580e1b1e2fee250ee0b9c59546079675a1931a36e37131bd37d64033c75e05d8e9d9fcc33ce7850254d3acaca2136cf3bd08b070244f0
Ghi chú phát hành
Xem thêm lịch phát hành và thông tin khác:
Tin mới nhất
Phát hành Ruby 3.2.10
Ruby 3.2.10 đã được phát hành.
Đăng bởi hsbt vào 14 Jan 2026
Phát hành Ruby 4.0.1
Ruby 4.0.1 đã được phát hành.
Đăng bởi k0kubun vào 13 Jan 2026
Phát hành Ruby 4.0.0
Chúng tôi vui mừng thông báo phát hành Ruby 4.0.0. Ruby 4.0 giới thiệu “Ruby Box” và “ZJIT”, cùng nhiều cải tiến khác.
Đăng bởi naruse vào 25 Dec 2025
Diện mạo mới cho tài liệu Ruby
Tiếp theo việc thiết kế lại ruby-lang.org, chúng tôi có thêm tin vui để kỷ niệm 30 năm Ruby: docs.ruby-lang.org có diện mạo hoàn toàn...
Đăng bởi Stan Lo vào 23 Dec 2025