Ruby เป็นแพลตฟอร์มที่จำหน่ายได้อย่างอิสระมีซอฟต์แวร์บรรทัดคำสั่งที่หลากหลายและเปิดกว้างซึ่งได้รับการออกแบบมาจากพื้นดินเพื่อให้เป็นภาษาเขียนโปรแกรมที่มีประสิทธิภาพสำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการสร้างโปรแกรมประยุกต์ใน Ruby .
คุณสมบัติคุณสมบัติมากมาย
คุณลักษณะสำคัญประกอบด้วยไวยากรณ์ง่ายๆที่ได้รับแรงบันดาลใจจาก Ada และ Eiffel ระบบจัดการเธรดแบบอิสระของระบบปฏิบัติการความสามารถในการจัดการข้อผิดพลาดในการจัดการข้อผิดพลาดผู้ให้บริการจำนวนมากภาษาที่ใช้ภาษาเชิงวัตถุสมบูรณ์และสมบูรณ์รวมทั้งการสนับสนุนวิธีการเพิ่มชั้นเรียน
นอกจากนี้ทับทิมยังมีคุณสมบัติการสืบทอดเพียงอย่างเดียวคือการปิดที่แท้จริงบล็อคไวยากรณ์ตัวเก็บรวบรวมขยะแบบเครื่องหมายและกวาดที่แท้จริงสนับสนุนการเขียนนามสกุล C จำนวนเต็มสนับสนุนการโหลดไลบรารีส่วนขยายแบบไดนามิกและไม่เป็นประโยชน์ ต้องประกาศตัวแปร
เริ่มต้นใช้งาน Ruby
การติดตั้งภาษาเขียนโปรแกรม Ruby ในระบบปฏิบัติการ GNU / Linux เป็นงานที่ง่ายมากเนื่องจากแพคเกจสามารถดาวน์โหลดได้จากดิสทริบิวชันทั้งหมดโดยตรงจากที่เก็บซอฟต์แวร์หลัก ใช้แอปพลิเคชัน Center ในตัวเพื่อติดตั้ง
เป็นอีกทางเลือกหนึ่งคุณสามารถติดตั้งเวอร์ชันล่าสุดได้โดยใช้ชุดซอร์สโค้ดซึ่งแจกฟรีที่ Softoware เพียงแค่ดาวน์โหลดและบันทึกลงในโฮมไดเร็กตอรี่แล้วดึงข้อมูลที่จัดเก็บออกและนำทางไปยังตำแหน่งของไฟล์ที่เก็บถาวรในโปรแกรมจำลองเทอร์มินัล (เช่น cd /home/softoware/ruby-2.2.0)
เรียกใช้ & lsquo; ./ configure & rsquo; เพื่อกำหนดค่าโครงการ (คุณสามารถใช้คำสั่ง & lsquo ;/ configure --help & rsquo ;, เพื่อดูตัวเลือกที่มีให้สำหรับการเพิ่มประสิทธิภาพ Ruby สำหรับสถาปัตยกรรมฮาร์ดแวร์เฉพาะ) จากนั้นเรียกใช้ & lsquo; make & rsquo; คำสั่งเพื่อคอมไพล์และ & lsquo; sudo make install & rsquo; คำสั่งเพื่อติดตั้ง
สนับสนุน GNU / Linux, Windows, Mac OS X, BeOS และ OS / 2
ทับทิมเป็นซอฟต์แวร์ข้ามแพลตฟอร์มที่สามารถใช้งานได้กับการกระจาย GNU / Linux ทั้งหมดรวมถึงระบบปฏิบัติการอื่น ๆ ของยูนิกซ์เช่น Mac OS X, BeOS, OS / 2 และ Microsoft Windows เข้ากันได้กับแพลตฟอร์มคอมพิวเตอร์ 32 บิตและ 64 บิต
มีอะไรใหม่ ในรุ่นนี้:
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- นำเสนอ Pragma แบบแช่แข็งตามตัวอักษร ด้วย Ruby 2.1 "& quot; str & quot; .freeze ได้รับการเพิ่มประสิทธิภาพเพื่อลดการจัดสรรออบเจกต์ Ruby 2.3 แนะนำตัวเลือกมายากลใหม่และตัวเลือกบรรทัดคำสั่งเพื่อตรึงอักษรสตริงทั้งหมดในไฟล์ต้นฉบับ นอกจากนี้สำหรับการดีบักแล้วคุณจะได้รับตำแหน่งที่วัตถุถูกสร้างขึ้นใน & quot; ไม่สามารถแก้ไขสตริงที่ตรึงไว้ได้ & quot; error โดย --debug = ตัวเลือกบรรทัดคำสั่งแบบแช่แข็งสตริงตัวอักษร
- ระบบนำทางที่ปลอดภัย (เรียกว่าตัวดำเนินการแบบเหงา) &. ที่มีอยู่ใน C #, Groovy และ Swift ถูกนำมาใช้เพื่อลดความยุ่งยากในการจัดการด้วย obj & .foo นอกจากนี้ยังมีการเพิ่มอาร์เรย์ # dig และ Hash # dig โปรดทราบว่าการทำงานนี้เป็นลอง! ของ Active Support ซึ่งพิเศษจัดการเฉพาะศูนย์เท่านั้น
- อัญมณี did_you_mean ถูกรวมไว้ อัญมณี did_you_mean แสดงผู้สมัครใน NameError และ NoMethodError เพื่อลดความบกพร่องในการแก้ปัญหา
- RubyVM :: InstructionSequence # to_binary และ .load_from_binary นำมาใช้เป็นคุณลักษณะทดลอง ด้วยคุณสมบัติเหล่านี้เราสามารถสร้างระบบรวบรวมข้อมูล ISeq (bytecode) ได้
- นอกจากนี้ยังมีการปรับปรุงประสิทธิภาพหลายอย่างเช่นพิจารณาโครงสร้างการป้อนข้อมูลใหม่แนะนำโครงสร้างข้อมูลตารางใหม่เพิ่มประสิทธิภาพการเรียก Proc # การปรับระดับรหัสเครื่องเพื่อการจัดสรรออบเจ็กต์และรหัสเรียกเมธอดโครงสร้างข้อมูลตัวแปรอินสแตนซ์ที่ชาญฉลาด ซ็อกเก็ตและ I / O อนุญาตให้ใช้ & quot; ข้อยกเว้น: & quot; คำหลักสำหรับ I / O ที่ไม่บล็อก I ประสิทธิภาพสูงและอื่น ๆ
- รุ่นนี้มีการแก้ไขความปลอดภัยสำหรับโดเมน RubyGems ด้วย ช่องโหว่ในการยืนยันชื่อ CVE-2015-3900 ขอหักล้างช่องโหว่ใน RubyGems 2.4.6 และเวอร์ชันก่อนหน้า
- รุ่นนี้มีการแก้ไขความปลอดภัยสำหรับส่วนขยายของ OpenSSL ช่องโหว่ในการยืนยันชื่อโฮสต์
- VM (เมธอดแคช)
- RGenGC (ดูงานนำเสนอ RubyKaigi ของ ko1 และงานนำเสนอ RubyConf 2013)
- การปรับแต่ง # 8481 # 8571
- การเปลี่ยนแปลงไวยากรณ์:
- ทศนิยม / ตัวอักษรคอมเพล็กซ์ # 8430
- def ของ # 3753
- Bignum:
- ใช้ GMP # 8796
- สายอักขระ # scrub # 8414
- Socket.getifaddrs # 8368
- RDoc 4.1.0 และ RubyGems 2.2.0
- & quot; literal & quot; .freeze ได้รับการเพิ่มประสิทธิภาพแล้ว # 9042
- เพิ่ม Exception # cause # 8257
- อัปเดตไลบรารีเช่น BigDecimal, JSON, NKF, Rake, RubyGems และ RDoc
- ลบคำสาป # 8584
- คุณลักษณะหลักของภาษา:
- อาร์กิวเมนต์คำหลักซึ่งให้ความยืดหยุ่นในการออกแบบ API
- โมดูล # prepend ซึ่งเป็นวิธีใหม่ในการขยายคลาส
- อักษร% i ซึ่งสร้างอาร์เรย์ของสัญลักษณ์ได้อย่างง่ายดาย
- __ dir__ ซึ่งจะคืนค่า dirname ของไฟล์ที่กำลังดำเนินการอยู่
- การเข้ารหัสตามค่าเริ่มต้นของ UTF-8 ซึ่งทำให้มีความคิดเห็นมายากลจำนวนมาก
- ไลบรารีที่มีอยู่แล้ว:
- Enumerable # lazy และ Enumerator :: ขี้เกียจสำหรับสตรีมสันหลังลูก (อาจไม่มีที่สิ้นสุด)
- Enumerator # size and Range # size สำหรับการประเมินขนาดขี้เกียจ
- #to_h ซึ่งเป็นรูปแบบใหม่ในการแปลงเป็น Hash
- Onigmo ซึ่งเป็นเครื่องมือ regexp ใหม่ (ส้อมของ Oniguruma)
- API การจัดการข้อยกเว้นแบบอะซิงโครนัส
- สนับสนุนการแก้ปัญหา:
- การสนับสนุน DTrace ซึ่งช่วยให้สามารถวินิจฉัยโรคได้ในเวลาทำงาน
- TracePoint ซึ่งเป็น API การติดตามผลที่ได้รับการปรับปรุง
- การปรับปรุงประสิทธิภาพ:
- การเพิ่มประสิทธิภาพ GC โดยการทำเครื่องหมายบิตแมป
- เคอร์เนลจำเป็นต้องมีการเพิ่มประสิทธิภาพซึ่งทำให้ Rails เริ่มต้นทำงานอย่างรวดเร็ว
- การเพิ่มประสิทธิภาพ VM เช่นการจัดส่งเมธอด
- การเพิ่มประสิทธิภาพการทำงานแบบ Float
- รุ่นนี้มีการแก้ไขด้านความปลอดภัยเกี่ยวกับ JSON และ REXML ที่รวมไว้:
- การปฏิเสธบริการและการสร้างช่องโหว่ที่ไม่ปลอดภัยใน JSON (CVE-2013-0269)
- การขยายเอนทิตีของ DoS ใน REXML (XML bomb)
- และมี bugfixes เล็ก ๆ อยู่ด้วย
-
- รุ่นนี้มีการแก้ไขด้านความปลอดภัยเกี่ยวกับการรวม RDOC.
-
- รุ่นนี้มีการแก้ไขด้านความปลอดภัยเกี่ยวกับการรวม RDOC.
- $ SAFE หลีกเลี่ยงช่องโหว่เกี่ยวกับ Exception # to_s
- การสร้างไฟล์โดยไม่ได้ตั้งใจเกิดจากการใส่อักขระ NUL ที่ผิดกฎหมาย
- แก้ไขข้อบกพร่องอื่น ๆ อีกมากมาย
มีอะไรใหม่ ในเวอร์ชัน 2.5.0:
มีอะไรใหม่ ในเวอร์ชัน 2.4.2:
มีอะไรใหม่ ในเวอร์ชัน 2.4.1:
มีอะไรใหม่ ในเวอร์ชัน 2.4.0:
มีอะไรใหม่ ในเวอร์ชัน 2.3.3:
มีอะไรใหม่ ในเวอร์ชัน 2.3.1:
มีอะไรใหม่ ในเวอร์ชัน 2.3.0:
มีอะไรใหม่ ในเวอร์ชัน 2.2.3:
มีอะไรใหม่ ในเวอร์ชัน 2.2.0:
ค่าที่ส่งคืน
มีอะไรใหม่ ในเวอร์ชัน 2.0.0-p0:
มีอะไรใหม่ ในเวอร์ชัน 1.9.3-p392:
ความคิดเห็นที่ไม่พบ