Programování v Lua/Příkazy a podmínky: Porovnání verzí

Smazaný obsah Přidaný obsah
Dænča (diskuse | příspěvky)
meziuložení
 
Dænča (diskuse | příspěvky)
if 1 == 1 then code end
Řádek 1:
== Poznámky ==
* Lua nezná příkaz <code>switch</code>, jako alternativa lze použít třeba <code>elseif</code>
 
== Teorie ==
Řádek 18 ⟶ 19:
 
=== Bloky ===
* můžeme jej explicitně vymezit pomocí klíčových slov <code>do</code>-<code>end</code>
* slouží k ohraničení určité části kódu třeba pro lepší kontrolu nad rozsahem lokálních proměnných
<syntaxhighlight lang=lua line start=1>
Řádek 30 ⟶ 31:
</syntaxhighlight>
 
=== if then else, elseif ===
* podmínku začneme klíčovým slovem <code>if</code>, 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 <code>then</code>
* dále můžeme použít větev <code>elseif</code>, za ní opět následuje podmínka a kód začínající <code>then</code>
* může také následovat nepovínná část <code>else</code>, která se vykoná v případě, že podmínka nebyla splněna
* celá podmínka je ukončena klíčovým slovem <code>end</code>
 
==== if then ====
<syntaxhighlight lang=lua line start=1>
if a < 0 then a = 0 end
 
-- lze zapsat i jako:
if a < 0 then
a = 0
end
</syntaxhighlight>
 
==== breakif then else ====
<syntaxhighlight lang=lua line start=1>
if a > b then return a else return b end
 
-- lze zapsat i jako:
if a > b then
return a
else
return b
end
</syntaxhighlight>
 
==== returnelseif ====
<syntaxhighlight lang=lua line start=1>
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
</syntaxhighlight>
 
=== break ===
* značí se <code>break</code>
<syntaxhighlight lang=lua line start=1>
</syntaxhighlight>
 
=== return ===
* značí se <code>return</code>
* vrátí hodnotu z funkce nebo funkci ukončí
<syntaxhighlight lang=lua line start=1>
</syntaxhighlight>