Open source yeLuau, mhando yekutarisa musiyano wemutauro weLua

Yakazivisa yakavhurika sosi uye kuburitswa kwekutanga yakamira yakamira yemutauro weLuau programming, ichienderera mberi nekuvandudzwa kwemutauro weLua uye kumashure unoenderana neLua 5.1. Luau yakagadzirirwa kunyanya kuisa injini dzekunyora mumashandisirwo uye inovavarira kuwana kuita kwepamusoro uye kushandiswa kwakaderera kwezviwanikwa. Iyo kodhi yeprojekiti yakanyorwa muC ++ uye yakavhurika pasi peMIT rezinesi.

Luau inotambanudza Lua nemhando yekutarisa maitiro uye zvimwe zvitsva zvinovaka senge tambo literals. Mutauro uri kumashure unoenderana neLua 5.1 uye zvishoma neshanduro itsva. Iyo Lua Runtime API inotsigirwa, ichikubvumira kushandisa Luau ine kodhi iripo uye zvinosungirwa. Mutauro wenguva yekumhanya unobva pane yakagadziridzwa zvakanyanya Lua runtime 5.1 kodhi, asi muturikiri anonyorwa patsva. Munguva yekuvandudza, mamwe maitiro matsva ekugadzirisa akashandiswa kuwana mashandiro epamusoro zvichienzaniswa neLua.

Iyo purojekiti yakagadziridzwa naRoblox uye inoshandiswa mukodhi yepuratifomu yemitambo, mitambo, uye mashandisirwo emushandisi ekambani ino, kusanganisira iyo Roblox Studio mupepeti. Pakutanga, Luau yakagadziridzwa kuseri kwemasuo akavharwa, asi pakupedzisira zvakasarudzwa kuti iendeswe kuchikamu cheakavhurika mapurojekiti kuti awedzere kusimudzira pamwe nekubatanidzwa kwenharaunda.

Key Features:

  • Kutaipa zvishoma nezvishoma, kutora chinzvimbo chepakati pakati pesimba uye static kutaipa. Luau inokutendera kuti ushandise static typing sezvinodiwa nekutsanangura ruzivo rwemhando kuburikidza neakakosha zvirevo. Mhando dzakavakirwa-mukati "chero", "nil", "boolean", "nhamba", "tambo" uye "shinda" inopihwa. Panguva imwecheteyo, mukana wekushandisa dynamic typing pasina kutsanangura zvakajeka rudzi rwemhando uye mabasa anochengetedzwa. basa foo(x: nhamba, y: tambo): boolean yemunharaunda k: tambo = y:rep(x) dzoka k == "a" kupera
  • Tsigiro yetambo literals (semuLua 5.3) senge "\0x**" (hexadecimal nhamba), "\u{**}" (Unicode character) uye "\z" (kuguma kwemutsara), pamwe neiyo kugona kuona mafomati enhamba (unogona kunyora 1_000_000 pachinzvimbo che1000000), zvinyorwa zvehexadecimal (0x...) uye nhamba dzebhinari (0b......).
  • Tsigiro yeiyo "enderera" kutaura, ichizadzisa iripo "break" keyword, kusvetukira kune nyowani loop iteration.
  • Tsigiro yevashandisi vechikamu (+=, -=, *=, /=, %=, ^=, ..=).
  • Tsigiro yekushandiswa kwezvimiro "kana-zvino-zvimwe" zvivharo muchimiro chemashoko anodzosa kukosha kwakaverengerwa panguva yekuitwa kwebhuroko. Iwe unogona kutsanangura nhamba yekupokana yemamwe mataurirwo mubhuroko. local maxValue = kana a > b zvino imwe b chiratidzo chemunharaunda = kana x <0 zvino -1 zvimweif x > 0 ipapo 1 mumwe 0
  • Kuvapo kweiyo yekuzviparadzanisa mode (sandbox), iyo inobvumidza iwe kumhanya isingavimbike kodhi. Iyi ficha inogona kushandiswa kuronga kuvhurwa padivi pekodhi yako uye kodhi yakanyorwa nemumwe mugadziri, semuenzaniso, echitatu-bato raibhurari yekuchengetedza iyo isingagone kuvimbiswa.
  • Muganho weraibhurari yakajairwa umo mabasa anogona kukonzeresa matambudziko akabviswa. Semuyenzaniso, maraibhurari β€œio” (yekuwana mafaera uye matangiro ekutanga), β€œpakeji” (yekuwana mafaera uye kurodha mamodule), β€œos” (mabasa ekuwana mafaera uye kushandura nharaunda zvinosiyana), β€œdebug” (kusina kuchengeteka kushanda nendangariro) , "dofile" uye "loadfile" (FS kuwana).
  • Kupa maturusi ekuongorora static kodhi, kuona zvikanganiso (linter) uye kutarisa mashandisiro chaiwo emhando.
  • Paridzi wepamusoro-inoshanda parser, bytecode muturikiri uye compiler. Luau haasati atsigira JIT kuunganidzwa, asi zvinonzi muturikiri weLuau anofananidzwa mukuita neLuaJIT mune mamwe mamiriro.

Source: opennet.ru

Voeg