Loharanom-baovao misokatra ho an'ny Luau, karazana fanamarinana karazana amin'ny fiteny Lua

Nambarany ny loharano misokatra sy ny famoahana ny famoahana manokana voalohany ny fiteny fandaharana Luau, nanohy ny fampandrosoana ny fiteny Lua ary mifanaraka amin'ny Lua 5.1. Luau dia natao indrindra mba hampidirana ny motera fanoratana amin'ny fampiharana ary mikendry ny hahatratra fahombiazana ambony sy fanjifana loharanon-karena ambany. Ny kaody tetikasa dia voasoratra amin'ny C++ ary misokatra eo ambanin'ny lisansa MIT.

Luau dia manitatra an'i Lua miaraka amin'ny fahafaha-mijery karazana sy fananganana syntactic vaovao toy ny litera tady. Mifanaraka amin'ny Lua 5.1 ilay fiteny ary amin'ny ampahany amin'ny dikan-teny vaovao. Ny Lua Runtime API dia tohanana, ahafahanao mampiasa Luau miaraka amin'ny kaody sy fatorana efa misy. Ny fampandehanan-teny dia mifototra amin'ny kaody Lua runtime 5.1 novolavolaina mafy, fa ny mpandika teny kosa dia averina nosoratana tanteraka. Nandritra ny fampivoarana dia nisy teknika fanatsarana vaovao nampiasaina mba hahazoana fahombiazana ambony kokoa raha oharina amin'i Lua.

Ny tetikasa dia novolavolain'i Roblox ary ampiasaina amin'ny kaody amin'ny sehatra filalaovana, lalao ary fampiharana mpampiasa an'ity orinasa ity, anisan'izany ny tonian-dahatsoratra Roblox Studio. Tany am-boalohany dia novolavolaina tao ambadiky ny varavarana mihidy i Luau, saingy tamin'ny farany dia nanapa-kevitra ny hamindra izany amin'ny sokajy tetikasa misokatra ho fampandrosoana bebe kokoa miaraka amin'ny fandraisan'anjaran'ny vondrom-piarahamonina.

Endri-javatra manan-danja:

  • Manorata miandalana, mitana toerana manelanelana eo anelanelan'ny fanoratana dynamique sy static. Luau dia ahafahanao mampiasa sora-baventy araka izay ilaina amin'ny famaritana ny karazana fampahalalana amin'ny alΓ lan'ny fanamarihana manokana. Ny karazana "any", "nil", "boolean", "number", "string" ary "thread" dia omena. Amin'izay fotoana izay ihany koa dia voatahiry ny fahafahana mampiasa fanoratana dynamique tsy misy famaritana mazava ny karazana varimbazaha sy fiasa. function foo(x: isa, y: string): boolean local k: string = y:rep(x) miverina k == β€œa” farany
  • Fanohanana ireo litera tady (toy ny ao amin'ny Lua 5.3) toy ny "\0x**" (isa hexadecimal), "\u{**}" (karazana Unicode) ary "\z" (faran'ny andalana), ary koa ny fahafahana mijery sary ny fandrafetana isa (azonao atao ny manoratra 1_000_000 fa tsy 1000000), litera ho an'ny hexadecimal (0x...) ary isa mimari-droa (0b......).
  • Fanohanana ny fitenenana hoe "manohy", mameno ny teny fanalahidy "break" efa misy, mba hitsambikina amin'ny famerimberenana indray.
  • Fanohanana ho an'ny mpandraharaha fanendrena iombonana (+=, -=, *=, /=, %=, ^=, ..=).
  • Fanohanana ny fampiasana sakana misy fepetra "raha-tsy-tsy" amin'ny endrika fanehoan-kevitra izay mamerina ny sandany kajy nandritra ny fanatanterahana ny sakana. Azonao atao ny manondro isa tsy misy dikany amin'ny fomba fiteny hafa amin'ny sakana iray. local maxValue = raha a > b avy eo a hafa b famantarana eo an-toerana = raha x < 0 dia -1 elseif x > 0 dia 1 hafa 0
  • Ny fisian'ny fomba mitoka-monina (boaty fasika), izay ahafahanao mihazakazaka kaody tsy azo itokisana. Ity endri-javatra ity dia azo ampiasaina handaminana ny fandefasana miaraka amin'ny kaody manokana sy ny kaody nosoratan'ny mpamorona hafa, ohatra, ny tranomboky an'ny antoko fahatelo izay tsy azo antoka ny fiarovana azy.
  • Famerana ny tranomboky mahazatra izay nesorina ireo fiasa mety hiteraka olana momba ny fiarovana. Ohatra, ny trano famakiam-boky "io" (fidirana rakitra sy dingana fanombohana), "fonosana" (fampidirana ny rakitra sy ny famenoana maody), "os" (fampiasa amin'ny fidirana rakitra sy fanovana ny fari-piainan'ny tontolo iainana), "debug" (fampiasana tsy azo antoka miaraka amin'ny fitadidiana) , β€œdofile” ary β€œloadfile” (fidirana FS).
  • Manome fitaovana ho an'ny famakafakana kaody static, famantarana ny lesoka (linter) ary manamarina ny fampiasana marina ireo karazana.
  • Ny parser, mpandika teny bytecode ary compiler. Tsy mbola manohana ny fanangonana JIT i Luau, saingy voalaza fa ny mpandika teny Luau dia mitovy amin'ny zava-bitany amin'ny LuaJIT amin'ny toe-javatra sasany.

Source: opennet.ru

Add a comment