Programování v Lua/Příkazy a podmínky
Vzhled
(přesměrováno z Lua/DenisaCZ/Příkazy a podmínky)
Poznámky
[editovat]- Lua nezná příkaz
switch
, jako alternativu lze použít třebaelseif
Teorie
[editovat]Přiřazení
[editovat]- značí se
=
myVar1 = 35
Lokální proměnné
[editovat]- vytvoříme je přidáním klíčového slova
local
před název proměnné - mají platnost pouze v určité části kódu × globální proměnné
a = 25 -- globální proměnná
local b = 47 -- lokální proměnná
Bloky
[editovat]- můžeme jej explicitně vymezit pomocí klíčových slov
do
-end
- slouží k ohraničení určité části kódu třeba pro lepší kontrolu nad rozsahem lokálních proměnných
do
local a2 = 2*a
local d = sqrt(b^2 - 4*a*c)
x1 = (-b + d)/a2
x2 = (-b - d)/a2
end -- tady končí platnost lokálních proměnných 'a2' a 'd'
print(x1, x2)
if then else, elseif
[editovat]- podmínku začneme klíčovým slovem
if
, za ním následuje samotná podmínka - pokud je podmínka splněna, pokračuje se vykonáváním kódu za klíčovým slovem
then
- dále můžeme použít větev
elseif
, za ní opět následuje podmínka a kód začínajícíthen
- může také následovat nepovínná část
else
, která se vykoná v případě, že podmínka nebyla splněna - celá podmínka je ukončena klíčovým slovem
end
if then
[editovat]if a < 0 then a = 0 end
-- lze zapsat i jako:
if a < 0 then
a = 0
end
if then else
[editovat]if a > b then return a else return b end
-- lze zapsat i jako:
if a > b then
return a
else
return b
end
elseif
[editovat]if op == "+" then
result = a + b
elseif op == "-" then
result = a - b
elseif op == "*" then
result = a*b
elseif op == "/" then
result = a/b
elseif op == "^" then
result = a^b
elseif op == "%" then
result = a%b
else
print("invalid operation")
end
break
[editovat]- značí se
break
return
[editovat]- značí se
return
- vrátí hodnotu z funkce nebo funkci ukončí
Odkazy
[editovat]- https://www.lua.org/pil/4.1.html (Assignment)
- https://www.lua.org/pil/4.2.html (Local Variables and Blocks)
- https://www.lua.org/pil/4.3.1.html (if then else)
- https://www.lua.org/pil/4.4.html (break and return)