Pirmieji žingsniai su Lua

Turinys
Lua yra aiškinama, paprasta, nešiojama ir išplečiama kalba, kuri iš pradžių buvo sukurta integruoti C ir kitomis įprastomis kalbomis, tačiau ji išplėtė savo naudojimą į žiniatinklio programas, programas mobiliesiems, žiniatinklio paslaugas ir net vaizdo žaidimus.
Jis naudoja API apie C atlikti tam tikras užduotis, pradedant žemo lygio operacijomis, našumu ir sąsajomis su trečiųjų šalių programomis. Lua jis taip pat šviečia savaime, leidžia dirbti su dinamiškomis struktūromis, pašalina perteklių, leidžia automatiškai valdyti atmintį ir suteikia galimybę atlikti testavimą ir derinimą.
Lua Ji taip pat tarnauja kaip „klijų“ kalba ją kažkaip pavadinti, nes ji turi programinės įrangos kūrimo komponentą, skirtą programoms kurti naudojant aukšto lygio komponentus, kurie yra parašyti ir sudaryti tokiomis kalbomis kaip C arba C ++.
Mes jau žinome šiek tiek daugiau Lua, bet kadangi visos šiandien prieinamos programavimo kalbos tarnauja tam pačiam tikslui, daugelis gali galvoti: „Kodėl jūs pasirinktumėte? Lua aukščiau kitų? Bet tiesa ta Lua Jis turi keletą savybių, dėl kurių jis išsiskiria iš kitų, pažiūrėkime:
IšplečiamumasIšplėtimas Lua daugelis kūrėjų ją laiko ne kalba, o įrankių rinkiniu tam tikroms kalboms kurti. Lua buvo sukurtas nuo pat pradžių, kad būtų išplėstas per jūsų kodą ir kodą, jei tai yra įrodymas Lua didžiąją dalį savo pagrindinių funkcijų įgyvendina per išorines bibliotekas. Integracija Lua su C / C ++ yra labai paprasta ir buvo naudojama kartu su kitomis kalbomis, tokiomis kaip Fortrandas, Java, C # ir net su kitomis kalbomis aiškinama kaip Rubinas Y Perl.
PaprastumasLua tai paprasta ir maža kalba, turinti nedaug sąvokų, turinti daug dokumentų ir dėl savo paprastumo ją labai lengva išmokti.
EfektyvumasĮgyvendinimas yra labai efektyvus, o atlikti tyrimai tai rodo Lua kaip viena iš sparčiausiai interpretuojamų kalbų šiandien.
PerkeliamumasGaliausiai, kai kalbame apie perkeliamumą, kalbame ne tik apie tai, kas Lua galima vykdyti tiek „Windows“ kaip ir viduje LinuxMes kalbame apie tai, kad jis veikia visose žinomose platformose: „Mac“, „OS X“, „Symbian OS“, „PlayStation“, „Xbox“, ARM procesoriai ir, žinoma, visi „Unix“ ir „Windows“ skoniai. Visų šių platformų kodas yra praktiškai tas pats ir Lua nenaudoja sąlyginio kompiliavimo, vietoj to laikosi kompiliatoriaus ANSI C., tokiu būdu nereikia jo pritaikyti naujoje aplinkoje.
Kaip matome Lua ji turi tam tikrų savybių, dėl kurių ji išsiskiria iš kitų interpretuojamų kalbų. Mes jau turime platesnę kalbos panoramą, pažiūrėkime, kaip ją įdiegti ir kaip galime pateikti paprastą pavyzdį.
Šiai pamokai ketiname įdiegti Lua į Ubuntu supaprastinti veiksmus ir jų naudojimą. Pirmiausia atidarome savo terminalą ir vykdysime šią komandą:
 sudo apt-get install lua5.2
Turėdami tai turėsime naujausią kalbos versiją ir galėsime pradėti ją kurti, nes matome, kad ją įdiegti buvo gana paprasta, taip patikrinant jos paprastumo funkciją. Dabar mes sukursime nedidelį failą pavadinimu sveiki_pasaulis.lua kuriame bus toks kodas:
 spausdinti („Labas pasaulis,„ Lua “įdiegta be jokių problemų“)
Mes einame į savo terminalą keliu, kuriame sukūrėme failą, ir vykdysime jį, kad patikrintume, ar turime Lua įdiegta be problemų, tam mes naudojame tik rezervuotą žodį lua ir failo pavadinimą, pažiūrėkime, koks yra mūsų programos rezultatas:

Pažiūrėkime sudėtingesnį pavyzdį, kuris leis vartotojui įvesti duomenis, o su funkcija apskaičiuosime skaičiaus koeficientą:
 funkcija faktorialas (n), jei n == 0, tada grąžinkite 1 kitą grąžinti n * faktoriumi (n-1) pabaigos pabaiga spausdinti ("Įveskite skaičių:") a = io.read (" * skaičius") spausdinti (faktorius (a )))
Paleiskime kodą iš terminalo ir pažiūrėkime, kaip jis veikia:

Mes įvedame kelis skaičius, taip gaudami kiekvieno iš jų faktoriumą, ir tai su keliomis paprastomis kodo eilutėmis. Mes tai jau patikrinome Lua Jis yra tinkamai įdiegtas ir kad mes galime paleisti savo programas be jokių problemų, tačiau yra keletas kalbos sąvokų, kurias turime žinoti prieš tęsdami mokymąsi.
Kiekvienas kodo gabalas Lua vykdo, kaip vadinamas failas arba eilutė gabalas arba porcija, kur tai ne kas kita, kaip komandų ar teiginių seka. „Lua“ ypatumas yra tas, kad jam nereikia skirtumų tarp sakinių, tačiau, jei norime, galime naudoti garsiąją kabliataškį.
Rekomenduojame kabliataškiu atskirti du teiginius, esančius toje pačioje eilutėje, kad būtų išlaikyta tam tikra kodo tvarka ir skaitomumas. Svarbu paminėti, kad eilutės lūžis Lua nėra, norėdami pamatyti, kaip veikia aukščiau aprašyta, pažvelkime į šį pavyzdį, kuriame kiekviena dalis yra vienodai teisinga:

Matome, kad net paskutinė eilutė neatitinka jokios konvencijos, tačiau ji yra visiškai galiojanti ir funkcionuojanti kalba. Be to, dalys gali būti vykdomos eilutėmis, o ne kuriamos per interaktyvią konsolę Lua, kur su rezervuoto žodžio įdėjimu lua be argumentų galime jį įvesti, pažiūrėkime:

Kaip matome, spausdiname net nesukurdami failo Lua Jis gali aptikti, kai eilutė nėra tinkama dalis, ir suteikia mums dar vieną įvestį, kad galėtume pridėti likusią dalį, bet vėlgi daugeliui bus įdomu: kokia nauda iš eilutės vykdymo, jei galime sukurti failą ir tai padaryti vienu žingsniu? Atsakymas yra du žodžiai; testavimas ir derinimas, naudojant interaktyvią konsolę, šie procesai yra labai paprasti ir praktiški. Tada mes sukursime nedidelę programą, o interaktyvioje konsolėje įvertinsime kiekvieną jos dalį, pažiūrėkime jos turinį:
 funkcijos norma (x, y) grįžti (x 2 + y 2) 0.5 pabaiga funkcija dviguba (x) grįžti 2 * x pabaiga
Dabar, norėdami pasiekti interaktyviąją konsolę ir galėdami derinti mūsų programą, turime įdėti šiuos dalykus:
 lua -i test.lua
Atsidarys interaktyvi konsolė ir galėsime įvertinti savo programą, tam naudosime šią funkciją dofile () kuris yra atsakingas už mūsų kodo įkėlimą, tada mes galime nusiųsti argumentus į savo funkcijas ir juos vykdyti, pažiūrėkime, kaip tai pasiekiame:

Kaip matėme, galėjome išbandyti savo kodą be jokių problemų, tai yra labai naudinga, kai turime gana platų kodą su klaidomis ir nežinome, kur jos yra.
Mes jau peržiūrėjome keletą naudingų koncepcijų, kad galėtume paleisti savo programas ir atlikti jų bandymus, jei įvyktų klaidų, tačiau norint sumažinti šias klaidas, būtina žinoti kai kurias sutartines nuostatas dėl to, kokių rezervuotų žodžių negalime naudoti ar net kaip vadinti savo kintamuosius arba identifikatoriai.
Pastaruoju atveju tai gali būti bet kokia eilutė, sudaryta iš raidžių, skaičių ir pabraukimų, stengiantis neprasidėti skaičiumi, pavyzdžiui:
  • identifikatorius
  • identifikatorius2
  • aVariableVeryLong
  • _ identifikatorius
  • _ENTRADADATAI
Be to, turime šiuos rezervuotus žodžius, kurių negalime naudoti pavadindami savo identifikatorius:

Svarbu tai paminėti Lua yra jautrus didžiosioms ir mažosioms raidėms kartoti skiriasi nuo KARTOTI, į ką reikia atkreipti dėmesį kuriant kalbą. Galiausiai, norėdami pateikti pastabų įtraukdami dvigubą brūkšnelį, kurį turime eilutei, ir jei norime įtraukti komentarų bloką, juos priskiriame skliausteliuose, kaip matome šioje kodo dalyje:
 - [[spausdinti („Labas pasaulis“) -]]
Ir jei norime išjungti šį komentarą, jo pradžioje įtraukdami papildomą scenarijų, turime:

Baigdami turime globalūs kintamieji, kurių nereikia deklaruoti tik priskiriant joms vertybes, galime jas sukurti, o jei prieisime prie jų prieš jas sukurdami, gausime vertę nulis tai rodo, kad tai yra kitokia vertė nei kitos, o tai netgi padeda mums pašalinti minėtąjį kintamąjį jo priskyrimo metu, pažiūrėkime to pavyzdį:

Kaip matome paprastumą Lua ji apima visus kalbos aspektus, net ir su mūsų kintamųjų deklaracijomis. Tuo baigėme šią pamoką, kurioje galėjome žengti pirmuosius žingsnius Lua, parodydami kalbos galią ir jos paprastumą ja naudotis, suteikdami mums alternatyvą plačiam vertimų kalbų katalogui, skirtą mūsų programoms kurti.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave