เปิดตัว Ruby 3.1.0
(ruby-lang.org)- รวม YJIT แล้ว: JIT compiler แบบ in-process ตัวใหม่ที่ Shopify สร้างขึ้น
→ สถาปัตยกรรม Lazy Basic Block Versioning (LBBV)
→ ปรับปรุงความเร็วช่วง warm-up และประสิทธิภาพ โดยประมาณ 22%~39%
→ ปิดใช้งานไว้เป็นค่าเริ่มต้น สามารถใช้ได้ด้วย --yjit
- รวม debug.gem ที่เขียนขึ้นใหม่
→ ปรับปรุงประสิทธิภาพการดีบัก
→ รองรับการดีบักระยะไกล
→ รองรับ debugging frontend อย่าง VSCode/Chrome
→ การดีบักแบบหลายโปรเซส/หลายเธรด
→ มี REPL แบบสีสันสดใสให้ใช้งาน
→ Record & Replay
- เพิ่ม gem
error_highlight
→ แสดงตำแหน่งข้อผิดพลาดอย่างละเอียดใน backtrace
- เพิ่มฟีเจอร์ auto-complete ใน IRB
→ หากติดตั้งเอกสารไว้แล้ว จะแสดงเอกสารด้านข้างเมื่อทำ auto-complete
- ภาษา
→ สามารถละค่าของ Hash literal และ keyword arguments ได้
⇨ {x: x, y: y} จะเป็น {x:, y:}
⇨ foo(x: x, y: y) จะเป็น foo(x:, y:)
→ สามารถใช้ expression กับตัวดำเนินการ Pin (^) ใน pattern matching ได้
⇨ Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a
→ สามารถละวงเล็บใน one-line pattern matching ได้
⇨ [0, 1] => _, x
⇨ {y: 2} => y:
1 ความคิดเห็น
ตามธรรมเนียมที่ปล่อยเวอร์ชันทุกปีในช่วงคริสต์มาส ปีนี้ก็เช่นกัน
เปิดตัว Ruby 3.0.0 https://th.news.hada.io/topic?id=3471
เปิดตัว Ruby 2.7.0 https://th.news.hada.io/topic?id=1149