Satura rādītājs
Iepriekšējās apmācībās mēs redzējām, kā Lua ļauj dinamiski apstrādāt gan vērtības, gan veidus, vienmēr izceļoties ar vienkāršību un daudzpusību, veicot šīs darbības.Bet tas vēl nav viss Lua piedāvā vienkāršības ziņā, tas parasti atbalsta deklarācijas, kuras mēs varam atrast tādās valodās kā C vai PaskālsJa šajās deklarācijās ir iekļauti gan uzdevumi, gan kontroles struktūras, mēs pat varam paklupt pie dažiem netradicionāliem veidiem, piemēram, vairākiem uzdevumiem un vietējām deklarācijām.
Uzdevumi Lua Tie ir ārkārtīgi vienkārši, un tie darbojas, lai mainītu mainīgā vērtību noteiktā laikā mūsu programmā. Apskatīsim vienkāršu piemēru, izmantojot interaktīvo konsole Lua, kuru mēs varam ievadīt, ievietojot rezervēto vārdu lua Terminālī:
Lua jūs pat varat pielāgot vērtību skaitu esošo mainīgo skaitam, piemēram, ja vērtību saraksts ir mazāks par mainīgo sarakstu, papildu mainīgajiem tiek piešķirts vērtību tips nulle pēc noklusējuma kā vērtības, aplūkosim šī procesa piemēru:
Papildus globālajiem mainīgajiem, Lua Tas atbalsta vietējos mainīgos, kuriem atšķirībā no globālajiem ir ierobežota darbības joma, kas ir atkarīga no bloka, kurā tie ir deklarēti, paskatīsimies, kā mēs deklarējam vietējo mainīgo:
x = 10 vietējais i = 1, bet i <= x do local x = i * 2 print (x) i = i + 1 end, ja i> 20, tad vietējais xx = 20 print (x + 2) else print (x) end drukāt (x)Ja mēs savā terminālī izpildīsim to pašu, mēs redzēsim, kā rezultāts var nebūt tas, ko mēs gaidām, un tas ir tāpēc, ka mums ir dažādi bloki, kuros mēs izmantojam mainīgos, redzēsim rezultātu:
do local var1 = 16 local var2 = var1 + 20 x = 5 y = x + var1 end - Šeit beidzas var1 un var2 drukas darbības joma print (x, y) print (var1, var2)Izpildot to savā terminālī, mēs redzēsim, ka mainīgie x un y tiek parādīti bez problēmām, jo tie ir globāli, bet var1 un var2 to darbības joma beidzas ar bloku do-end, paskatīsimies:
Kontroles struktūrasTāpat kā pārējās programmēšanas valodas, Lua nodrošina mums kontroles struktūru kopumu, ko mēs varam izmantot mūsu programmās, izmantojot labi zināmo ja lai tiktu galā ar apstākļiem un kamēr, atkārtot Y priekš atkārtotām cilpām, izņemot atkārtot kam ir skaidrs terminators līdz un pārējie beidzas ar beigas.
Tāpat kā lielākajā daļā programmēšanas valodu, deklarācija ja pārbauda nosacījumu un izpilda daļu tad vai tā daļa citādi, ja pēdējais var būt neobligāts, aplūkosim šo nosacījumu kopumu, kas redzams mūsu programmās:
ja var1 <0, tad var1 = 0 beigas, ja var1 max rindas, tad rāda () līnijas = 0 beigasŠeit mums ir trīs veidu darbības, pamata ar tad, izmantojot atgriešanos, lai atgrieztu vērtību atbilstoši nosacījumam un nedaudz pilnīgāku koda daļu, kas izsauc funkciju. Turklāt mēs varam rakstīt ja ligzdots, izmantojot elseif, kas pasargā mūs no vairāku lietojuma beidzas, redzēsim, kā tas izskatās:
ja operācija == " +", tad rezultāts = a + b elseif darbība == " -", tad rezultāts = a - b elseif darbība == " *", tad rezultāts = a * b citsif operācija == "/", tad rezultāts = a / b else kļūda ("Nederīga darbība") beigasIr svarīgi atzīmēt, ka tas ir ne tikai optimālāk, bet arī nepieciešams kopš tā laika Lua nav tipa deklarāciju slēdzis tāpēc šāda veida ligzdotie nosacījumi mūsu programmās būs diezgan izplatīti.
Tāpat kā citās valodās, Lua vispirms novērtējiet stāvokli kamēr, ja nosacījums ir nepatiess, cikls beidzas un citādi tiek izpildītas šādas koda rindas un process tiek atkārtots, līdz nosacījums ir nepatiess, aplūkosim vienkāršu piemēru, lai to ilustrētu:
vietējais i = 1, bet var1 [i] drukā (var1 [i]) i = i + 1 beigas
Šis paziņojums atšķirībā no kamēr ļauj mums atkārtot kodu nosacījuma iekšienē, līdz tas ir patiess, kur pat šo kodu var izpildīt vismaz vienu reizi, jo nosacījuma novērtēšana tiek veikta beigās, apskatīsim piemēru:
atkārtot rindu = os.read () līdz rindai ~ = "" print (line)
Attiecībā uz iteratīvajiem cikliem priekš, Lua ir divi tā varianti, par ciparu un vispārīgs priekš. Apskatīsim ciparu sintaksi:
var = exp1, exp2, exp3 do endŠī cilpa izpildīs kaut ko katrai var no exp1 līdz exp2 izmantojot exp3 kā vērtību, lai palielinātu vai samazinātu to, ja to neiekļaujam Lua pēc noklusējuma pieņem, ka tas notiek pa vienam, apskatīsim detalizētāku šo ciklu piemēru:
var = 1, f (x) drukāt (var) beigas var2 = 10,1, -1 drukāt (var2) beigasTā kā mēs redzam, ka tā pielietojums ir diezgan vienkāršs un ļauj mums savās programmās ieviest noderīgos iteratīvos ciklus, tagad apskatīsim sintaksi vispārīgs priekš:
i, var ipairs (masīvs) drukā (var) beigāsŠis cikls izmanto funkciju, ko tā mums dod Lua zvanīt ipairs, kas ir masīvu iterators, kur katrai iterācijai i ņem indeksu, bet var iegūst ar šo indeksu saistīto vērtību.
Kā mēs redzam paziņojumus iekšpusē Lua Tās daudz neatšķiras no citām valodām, tomēr valoda piebilst, ka papildu vienkāršība ļauj mums daudz ātrāk apgūt tās sintaksi un daudz efektīvāk izmantot. Ar to mēs pabeidzam šo apmācību, kurā mēs uzzinājām uzdevumus un kontroles struktūras Lua, tādējādi pievienojot vēl vienu zināšanu slāni, kad runa ir par šo vienkāršo, bet spēcīgo valodu.