Luau ตัวแปรตรวจสอบประเภทของภาษา Lua กลายเป็นโอเพ่นซอร์ส

เมื่อเร็ว ๆ นี้ มีการประกาศการเปิดตัวรุ่นแรก เป็นอิสระจากภาษาโปรแกรม Luauซึ่งดำเนินต่อไปด้วยการพัฒนา Lua และยังเข้ากันได้กับ Lua 5.1 เวอร์ชันก่อนหน้า

ภาษา Luau คือ ออกแบบมาสำหรับการฝังสคริปต์เอ็นจิ้นเป็นหลัก ในการใช้งานและมุ่งหวังให้มีประสิทธิภาพสูงและใช้ทรัพยากรน้อย รหัสโครงการเขียนด้วย C ++ และเปิดภายใต้ใบอนุญาต MIT

Luau ขยาย Lua ด้วยความสามารถในการตรวจสอบประเภทและบิลด์บางส่วน วากยสัมพันธ์ใหม่ เช่น อักษรสตริง ภาษาเข้ากันได้กับ Lua 5.1 เวอร์ชันก่อนหน้าและบางส่วนกับเวอร์ชันที่ใหม่กว่า. รองรับ Lua Runtime API อนุญาตให้ใช้ Luau กับรหัสและลิงก์ที่มีอยู่แล้ว

ณ วันนี้ Luau ไม่ได้เป็นส่วนหนึ่งของแพลตฟอร์ม Roblox อีกต่อไป เป็นภาษาโอเพ่นซอร์สอิสระ

รันไทม์ของภาษานั้นอิงตามรหัสรันไทม์ Lua 5.1 ที่แก้ไขอย่างหนัก แต่ล่ามได้รับการเขียนใหม่ทั้งหมด การพัฒนาเกี่ยวข้องกับเทคนิคการเพิ่มประสิทธิภาพใหม่บางอย่างที่ทำให้สามารถบรรลุประสิทธิภาพที่สูงขึ้นเมื่อเทียบกับ Lua

เมื่อ Roblox ถูกสร้างขึ้นเมื่อ 15 ปีที่แล้ว เราเลือก Lua เป็นภาษาการเขียนโปรแกรม Lua มีขนาดเล็ก รวดเร็ว ง่ายต่อการผสานรวมและเรียนรู้ และเปิดโอกาสอันยิ่งใหญ่สำหรับนักพัฒนาของเรา

Roblox ส่วนใหญ่สร้างขึ้นบน Lua ซึ่งรวมถึงโค้ดที่พัฒนาภายในหลายแสนบรรทัดซึ่งขับเคลื่อนแอปพลิเคชัน Roblox และ Roblox Studio มาจนถึงทุกวันนี้ และประสบการณ์นับล้านที่นักพัฒนาสร้างมา สำหรับหลายๆ คน ภาษานี้เป็นภาษาการเขียนโปรแกรมภาษาแรกที่พวกเขาเรียนรู้

โปรเจ็กต์นี้พัฒนาโดย Roblox และใช้ในโค้ดแพลตฟอร์มเกมและแอปพลิเคชันที่กำหนดเอง จากบริษัทนี้ รวมทั้งผู้จัดพิมพ์ Roblox Studio ในขั้นต้น Luau ได้รับการพัฒนาหลังปิดประตู แต่ในที่สุดก็ตัดสินใจโอนไปยังหมวดหมู่ของโครงการเปิดเพื่อการพัฒนาร่วมกันต่อไปด้วยการมีส่วนร่วมของชุมชน

คุณสมบัติหลัก:

  • ระบบประเภทตามลำดับ ซึ่งใช้ตำแหน่งกลางระหว่างการเขียนแบบไดนามิกและแบบคงที่ Luau อนุญาตให้เขียนแบบคงที่ได้ตามต้องการโดยระบุข้อมูลประเภทผ่านคำอธิบายประกอบพิเศษ
  • NS ในตัวประเภท "ใดๆ", "ไม่มี", "บูลีน", "หมายเลข", "สตริง" และ "เธรด" ในขณะเดียวกัน ความสามารถในการใช้การพิมพ์แบบไดนามิกโดยไม่ต้องกำหนดประเภทของตัวแปรและฟังก์ชันอย่างชัดเจนก็ยังคงอยู่
  • รองรับสตริงตามตัวอักษร (เหมือนในหลัว 5.3)
  • รองรับนิพจน์ "continue" นอกเหนือจากคีย์เวิร์ด "break" ที่มีอยู่แล้ว เพื่อข้ามไปยังการวนซ้ำใหม่ของลูป
  • รองรับตัวดำเนินการกำหนดแบบผสม
  • รองรับการใช้งาน บล็อคแบบมีเงื่อนไข "If-then-else" ในรูปแบบของนิพจน์ที่คืนค่าที่คำนวณระหว่างการดำเนินการของบล็อก คุณสามารถระบุจำนวนคำสั่ง elseif ได้ตามต้องการในบล็อก
  • การปรากฏตัวของโหมดแซนด์บ็อกซ์ ซึ่งอนุญาตให้คุณเรียกใช้รหัสที่ไม่น่าเชื่อถือ ฟังก์ชันนี้สามารถใช้เพื่อจัดระเบียบโค้ดและโค้ดของคุณเองที่เขียนขึ้นโดยนักพัฒนารายอื่น เช่น ไลบรารีของบุคคลที่สามที่ไม่สามารถรับประกันได้ ให้ทำงานเคียงข้างกัน
  • ข้อจำกัดของไลบรารีมาตรฐานที่ฟังก์ชันที่อาจสร้างปัญหาด้านความปลอดภัยถูกลบออก ตัวอย่างเช่น ไลบรารี "io" (การเข้าถึงไฟล์และกระบวนการเริ่มต้น), "แพ็คเกจ" (การเข้าถึงไฟล์และโมดูลโหลด), "os" (ฟังก์ชันในการเข้าถึงไฟล์และการเปลี่ยนแปลงตัวแปรสภาพแวดล้อมถูกลบออก), "Debug" (ไม่ปลอดภัย การจัดการหน่วยความจำ), "dofile" และ "loadfile" (การเข้าถึงระบบไฟล์)
  • จัดเตรียมเครื่องมือสำหรับการวิเคราะห์รหัสคงที่ การตรวจจับข้อผิดพลาด (Linter) และการตรวจสอบความถูกต้องของการใช้ประเภท
  • เครื่องวิเคราะห์ ล่ามไบต์โค้ด และคอมไพเลอร์ที่เป็นเอกสิทธิ์เฉพาะที่มีประสิทธิภาพสูง
  • Luau ยังไม่รองรับการคอมไพล์ JIT แต่มีข้อโต้แย้งว่าล่าม Luau นั้นค่อนข้างจะเทียบได้ในด้านประสิทธิภาพกับ LuaJIT ในบางสถานการณ์

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา