د لواو لپاره خلاص سرچینه، د لوا ژبې د ډول چک کولو ډول

د لوا پروګرامینګ ژبې د لومړۍ سټنډرډ خوشې کولو خلاصې سرچینې او خپرولو اعلان وکړ، د لوا ژبې پراختیا ته دوام ورکوي او د Lua 5.1 سره مطابقت لري. Luau په اصل کې په غوښتنلیکونو کې د سکریپټینګ انجنونو د ځای په ځای کولو لپاره ډیزاین شوی او موخه یې د لوړ فعالیت او ټیټ سرچینو مصرف ترلاسه کول دي. د پروژې کوډ په C++ کې لیکل شوی او د MIT جواز لاندې خلاص دی.

Luau Lua د ډول چک کولو وړتیاوو او ځینې نوي ترکیب جوړونې لکه د سټینګ لیکونو سره پراخوي. ژبه د لوا 5.1 سره شاته مطابقت لري او په جزوي ډول د نوي نسخو سره. د Lua Runtime API ملاتړ شوی، تاسو ته اجازه درکوي چې د موجوده کوډ او بندیزونو سره Luau وکاروئ. د ژبې چلولو وخت د لوی بیا کار شوي لوا رنټایم 5.1 کوډ پراساس دی ، مګر ژباړونکی په بشپړ ډول بیا لیکل شوی. د پراختیا په جریان کې، د لوا په پرتله د لوړ فعالیت ترلاسه کولو لپاره ځینې نوي اصلاح کولو تخنیکونه کارول شوي.

پروژه د روبلوکس لخوا رامینځته شوې او د دې شرکت د لوبو پلیټ فارم ، لوبو او کارونکي غوښتنلیکونو کوډ کې کارول کیږي ، پشمول د روبلوکس سټوډیو مدیر. په پیل کې، لواو د تړلو دروازو تر شا پراختیا موندلې وه، مګر په پای کې پریکړه وشوه چې دا د ټولنې په ګډون سره د نورو ګډ پرمختګ لپاره د پرانیستې پروژو کټګورۍ ته لیږدول شي.

کلیدي ب Featuresې:

  • تدریجي ټایپ کول، د متحرک او جامد ټایپ کولو ترمنځ منځګړیتوب موقعیت لري. Luau تاسو ته اجازه درکوي د ځانګړي تشریحاتو له لارې د ډول معلوماتو مشخص کولو سره د اړتیا سره سم جامد ټایپینګ وکاروئ. جوړ شوي ډولونه "کوم"، "نیل"، "بولین"، "نمبر"، "سټرینګ" او "تیریډ" چمتو شوي. په ورته وخت کې، د متغیراتو او دندو ډول په واضح ډول تعریف کولو پرته د متحرک ټایپینګ کارولو امکان ساتل کیږي. فنکشن foo (x: شمیره، y: string): د بولین محلي k: string = y: rep (x) بیرته راګرځي k == "a" پای
  • د توری لیکو لپاره ملاتړ (لکه څنګه چې په Lua 5.3 کې) لکه "\0x**" (هیکساډیسیمل شمیره)، "\u{**}" (یونیکوډ کرکټر) او "\z" (د کرښې پای)، او همدارنګه د شمیرې فارمیټ کولو لید لید وړتیا (تاسو کولی شئ د 1 پرځای 000_000_1000000 ولیکئ) ، د هیکساډیسیمل (0x ...) او بائنری شمیرو لپاره لیټرې (0b......).
  • د "دوامداره" بیان لپاره ملاتړ، د موجوده "بریک" کلیمې بشپړول، د نوي لوپ تکرار ته کود کولو لپاره.
  • د کمپاونډ تفویض چلونکو لپاره ملاتړ (+=، -=، *=، /=، %=، ^=، ..=).
  • د بیانونو په بڼه د مشروط "که-نو-بل" بلاکونو کارولو لپاره ملاتړ چې د بلاک اجرا کولو پرمهال محاسبه شوي ارزښت بیرته راګرځوي. تاسو کولی شئ په بلاک کې د elseif څرګندونو خپل سري شمیر مشخص کړئ. ځایی maxValue = که a > b بیا a بل b ځایی نښه = که x < 0 بیا -1 elseif x > 0 بیا 1 بل 0
  • د جلا کولو حالت (سنډ باکس) شتون ، کوم چې تاسو ته اجازه درکوي د باور وړ کوډ چل کړئ. دا فیچر ستاسو د خپل کوډ او د بل پرمخ وړونکي لخوا لیکل شوي کوډ سره یوځای د لانچ تنظیم کولو لپاره کارول کیدی شي ، د مثال په توګه ، د دریمې ډلې کتابتونونه د خوندیتوب لپاره چې تضمین نشي کیدی.
  • د معیاري کتابتون محدودیت چې له هغې څخه هغه دندې چې احتمالي امنیتي ستونزې رامینځته کولی شي لرې شوي. د مثال په توګه، کتابتونونه "io" (د فایلونو ته لاسرسی او د پیل کولو پروسې)، "پیکج" (د فایلونو ته لاسرسی او بارولو ماډلونه)، "os" (د فایلونو لاسرسي او د چاپیریال تغیراتو بدلولو لپاره دندې)، "debug" (د حافظې سره ناامنه عملیات) ، "ډوفایل" او "لوډ فایل" (FS لاسرسی).
  • د جامد کوډ تحلیل لپاره د وسیلو چمتو کول، د خطا کشف (لینټر) او د ډولونو سم کارولو چک کول.
  • د خپل لوړ فعالیت پارسر، بایټکوډ ژباړونکی او کمپیلر. لواو لا تر اوسه د JIT تالیف ملاتړ نه کوي، مګر ادعا کیږي چې د Luau ترجمان په ځینو حاالتو کې د LuaJIT سره په فعالیت کې د پرتله کولو وړ دی.

سرچینه: opennet.ru

Add a comment