Documentation for a newer release is available. View Latest

Ruby

Ruby 2.5

Ruby 2.5 ແມ່ນເວີຊັນທີ່ສະຖຽນລ່າສຸດຂອງ Ruby. ມີຫຼາຍຄຸນສົມບັດໃໝ່ ແລະ ການປັບປຸງໄດ້ຖືກລວມເຂົ້າເພື່ອຮອງຮັບຄວາມຕ້ອງການຂອງ Ruby ທີ່ຫຼາກຫຼາຍ ແລະ ຂະຫຍາຍຕົວຂຶ້ນເລື້ອຍໆ. ດ້ວຍການອັບເດດຄັ້ງໃຫຍ່ນີ້ຈາກ Ruby 2.4 ໃນ Fedora 26 ມາເປັນ Ruby 2.5 ໃນ Fedora 28, ເຮັດໃຫ້ Fedora ກາຍເປັນແພລັດຟອມການພັດທະນາ Ruby ທີ່ດີເລີດ.

ຄຸນສົມບັດໃໝ່:

  • ຕອນນີ້ສາມາດໃຊ້ rescue/else/ensure ໂດຍກົງກັບບລັອກ do/end ໄດ້ແລ້ວ.

  • ເພີ່ມ yield_self ເພື່ອສົ່ງຄ່າ (yield) ໃຫ້ກັບບລັອກທີ່ກຳນົດໃນບໍລິບົດຂອງມັນ. ມັນແຕກຕ່າງຈາກ tap ບ່ອນທີ່ມັນຈະສົ່ງຄືນຜົນລັດຂອງບລັອກນັ້ນ.

  • ຮອງຮັບການວັດແທກການຄວບຄຸມສາຂາ (branch coverage) ແລະ ການວັດແທກການຄວບຄຸມເມັດທອດ (method coverage). ການວັດແທກການຄວບຄຸມສາຂາຈະບອກໃຫ້ຮູ້ວ່າສາຂາໃດທີ່ຖືກເຮັດວຽກ ແລະ ສາຂາໃດທີ່ບໍ່ໄດ້ເຮັດວຽກ. ສ່ວນການວັດແທກການຄວບຄຸມເມັດທອດຈະບອກໃຫ້ຮູ້ວ່າເມັດທອດໃດທີ່ຖືກຮຽກໃຊ້ ແລະ ເມັດທອດໃດທີ່ບໍ່ໄດ້ຖືກຮຽກໃຊ້. ການຮັນຊຸດທົດສອບດ້ວຍຄຸນສົມບັດໃໝ່ເຫຼົ່ານີ້ ຈະເຮັດໃຫ້ທ່ານຮູ້ວ່າສາຂາ ແລະ ເມັດທອດໃດທີ່ຖືກເຮັດວຽກ ແລະ ສາມາດປະເມີນການຄວບຄຸມທັງໝົດຂອງຊຸດທົດສອບໄດ້ຢ່າງເຂັ້ມງວດຂຶ້ນ.

  • Hash#slice ແລະ Hash#transform_keys.

  • Struct.new ສາມາດສ້າງຄລາສທີ່ຮອງຮັບອາຄິວເມັນແບບຄີເວີດ (keyword arguments) ໄດ້.

  • Enumerable #any?, all?, none?, ແລະ one? ຮອງຮັບອາຄິວເມັນແບບແພັດເທີນ (pattern argument).

  • ບໍ່ສາມາດໃຊ້ການຄົ້ນຫາຄ່າຄົງທີ່ໃນລະດັບສູງສຸດ (Top-level constant look-up) ໄດ້ອີກຕໍ່ໄປ.

  • ໜຶ່ງໃນໄລບຣາຣີທີ່ເປັນທີ່ນິຍົມທີ່ສຸດຂອງພວກເຮົາຄື pp.rb ຕອນນີ້ຈະຖືກໂຫຼດໃຫ້ໂດຍອັດຕະໂນມັດ. ທ່ານບໍ່ຈຳເປັນຕ້ອງຂຽນ require pp ອີກຕໍ່ໄປ.

  • ສະແດງລາຍການການຮຽກໃຊ້ຍ້ອນຫຼັງ (backtrace) ແລະ ຂໍ້ຄວາມຂໍ້ຜິດພາດໃນລຳດັບຢ້ອນກັບ (ເລີ່ມຈາກການຮຽກໃຊ້ທີ່ເກົ່າທີ່ສຸດກ່ອນ ແລະ ການຮຽກໃຊ້ຫຼ້າສຸດໄວ້ທ້າຍສຸດ). ເມື່ອມີການສະແດງ backtrace ຍາວໆໃນເທີມີນໍ (TTY) ຂອງທ່ານ, ທ່ານຈະສາມາດຊອກຫາບັນທັດທີ່ເປັນສາເຫດໄດ້ງ່າຍໆຢູ່ທາງລຸ່ມສຸດຂອງ backtrace. ໝາຍເຫດ: ລຳດັບຈະຖືກຢ້ອນກັບສະເພາະຕອນທີ່ backtrace ຖືກພິມອອກທາງເທີມີນໍໂດຍກົງເທົ່ານັ້ນ.

ຄວາມເຂົ້າກັນໄດ້ໃນລະດັບຊອດໂຄດ (source level) ກັບເວີຊັນກ່ອນໜ້າຂອງ Ruby ແມ່ນຍັງຄົງຮັກສາໄວ້ຄືເກົ່າ. ເຖິງຢ່າງໃດກໍຕາມ, ສ່ວນເສີມໄບນາຣີ (binary extensions) ຂອງ Ruby ທີ່ຜູ້ໃຊ້ສ້າງຂຶ້ນເອງແມ່ນຈຳເປັນຕ້ອງໄດ້ສ້າງ (rebuild) ໃໝ່.

ເບິ່ງ ບັນທຶກການປ່ອຍເວີຊັນຈາກຕົ້ນທາງ ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ Ruby 2.5.