Luau, גרסת בדיקת סוגים של שפת Lua הופכת לקוד פתוח

לאחרונה הוכרז על שחרור הגרסה הראשונה ללא תלות בשפת התכנות לואאו, שממשיך עם הפיתוח של Lua ותואם גם לגרסאות קודמות של Lua 5.1.

שפת הלואו היא מיועד בעיקר להטמעת מנועי סקריפטים ביישומים ומטרתה להשיג ביצועים גבוהים וצריכת משאבים נמוכה. קוד הפרויקט כתוב ב-C++ והוא פתוח תחת רישיון MIT.

Luau מרחיב את Lua עם יכולות בדיקת סוגים וכמה בנייה תחבירים חדשים כמו מילולי מחרוזת. השפה תואמת לגרסאות קודמות של Lua 5.1 ובחלקה לגרסאות חדשות יותר. ה-API של Lua Runtime נתמך, המאפשר שימוש ב-Luau עם קודים וקישורים קיימים.

נכון להיום, לואו כבר לא חלק בלתי נפרד מפלטפורמת הרובלוקס; היא שפת קוד פתוח עצמאית.

זמן הריצה של השפה מבוסס על קוד זמן ריצה Lua 5.1 מתוקן מאוד, אך המתורגמן שוכתב לחלוטין. הפיתוח כלל כמה טכניקות אופטימיזציה חדשות שאפשרו להשיג ביצועים גבוהים יותר בהשוואה ל-Lua.

כשRoblox נוצר לפני 15 שנה, בחרנו ב-Lua כשפת התכנות. Lua הייתה קטנה, מהירה, קלה לשילוב וללמוד, והיא פתחה אפשרויות עצומות עבור המפתחים שלנו.

רוב רובלוקס נבנה על לואה, כולל מאות אלפי שורות של קוד שפותח באופן פנימי שמפעיל את אפליקציית רובלוקס ואת רובלוקס סטודיו עד היום, ואת מיליוני החוויות שיצרו מפתחים. עבור רבים מהם, זו הייתה שפת התכנות הראשונה שהם למדו.

הפרויקט פותח על ידי Roblox ומשמש בקוד פלטפורמת משחק ויישומים מותאמים אישית מחברה זו, כולל המוציא לאור של Roblox Studio. בתחילה פותח לואו בדלתיים סגורות, אך בסופו של דבר הוחלט להעבירו לקטגוריה של פרויקטים פתוחים להמשך פיתוח משותף בהשתתפות הקהילה.

תכונות עיקריות:

  • מערכת סוג רצף, אשר תופסת עמדת ביניים בין כתיבה דינמית וסטטית. Luau מאפשר כתיבה סטטית לפי הצורך על ידי ציון מידע סוג באמצעות הערות מיוחדות.
  • ה סוגים מובנים "כל", "אפס", "בוליאני", "מספר", "מחרוזת" ו"חוט". במקביל נשמרת גם היכולת להשתמש בהקלדה דינמית ללא הגדרה מפורשת של סוג המשתנים והפונקציות.
  • תמיכה במיתרים מילוליים (כמו ב-Lua 5.3)
  • תמיכה בביטוי "המשך", בנוסף למילת המפתח הקיימת "break", כדי לקפוץ לאיטרציה חדשה של הלולאה.
  • תמיכה במפעילי מטלות מורכבות
  • תמיכה לשימוש ב בלוקים מותנים "אם-אז-אחר" בצורת ביטויים המחזירים את הערך שחושב במהלך ביצוע הבלוק. אתה יכול לציין מספר שרירותי של הצהרות elseif בבלוק.
  • נוכחות של מצב ארגז חול מה שמאפשר לך להריץ קוד לא מהימן. ניתן להשתמש בפונקציה זו כדי לארגן את הקוד והקוד שלך שנכתבו על ידי מפתח אחר, למשל ספריות צד שלישי שלא ניתן להבטיח, שיפעלו זו לצד זו.
  • מגבלה של הספרייה הסטנדרטית שממנה הוסרו פונקציות שעלולות ליצור בעיות אבטחה. לדוגמה, ספריות "io" (גישה לקבצים ותהליכי הפעלה), "חבילה" (גישה לקבצים ולטעינת מודולים), "OS" (הוסרו פונקציות לגישה לקבצים ולשינוי משתני סביבה), "Debug" (לא מאובטח טיפול בזיכרון), "dofile" ו-"loadfile" (גישה למערכת קבצים).
  • לספק כלים לניתוח קוד סטטי, זיהוי שגיאות (Linter) ואימות השימוש בסוגים.
  • מנתח, מתורגמן בייטקוד ומהדר קנייני בעל ביצועים גבוהים.
  • Luau אינו תומך עדיין בהידור של JIT, אך טוענים כי מתורגמן Luau די דומה בביצועים ל-LuaJIT במצבים מסוימים.

בסופו של דבר אם אתה מעוניין לדעת יותר על כך, אתה יכול לבדוק את הפרטים בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.