Yukihiro Matsumoto ผู้สร้างภาษา Ruby ยืนยันว่าจะออก Ruby 3 ในวันที่ 25 ธันวาคมหรือวันคริสตมาสปีนี้ หลังจากก่อนหน้านี้มีกำหนดปล่อย Ruby 3 พร้อมกับการแข่งขันโอลิมปิกในโตเกียวแต่โอลิมปิกเลื่อนออกไป

Ruby 3 จะไม่สามารถทำงานร่วมกับ Ruby 2.x ได้จากการเปลี่ยนระบบการใช้ Hash แทนอาร์กิวเมนต์ระบุชื่อ (keyword argument) โค้ดที่ยังใช้รูปแบบเดิมจะถูกเตือนว่าโค้ดจะทำงานใน Ruby 3 ไม่ได้ตั้งแต่ Ruby 2.7 เป็นต้นมา โดย Matsumoto ตระหนักว่าการเปลี่ยนแปลงที่ไม่เข้ากับของเดิมเช่นนี้เป็นความท้าทาย เขายกตัวอย่าง Python ที่ใช้เวลาถึง 10 ปีในการยกเลิกซัพพอร์ตเวอร์ชั่นเก่า ส่วนภาษาอื่นๆ ก็ต้องยกเลิกการเปลี่ยนโครงสร้างภาษาที่กระทบผู้ใช้หนักๆ มาแล้วหลายครั้ง แต่อีกด้านหนึ่งหากภาษาไม่มีพัฒนาการ นักพัฒนาก็อาจจะเลือกพัฒนาโครงการใหม่ในภาษาอื่นแทน

Ruby 3 จะรองรับ Pattern Matching จากเดิมที่เป็นฟีเจอร์ทดลองใน Ruby 2.7, สามารถกำหนดค่าตัวแปรไปทางขวา (right side assignment), และอ้างอิงอาร์กิวเมนต์จากหมายเลขตำแหน่ง (numbered block parameters)

ที่มา – The New Stack

ฟีเจอร์ Pattern Matching ของ Ruby 2.7/3

Topics: 
Ruby
Open Source
Programming