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

Z Wikiverzity

Poznámky[editovat]

  • Lua nezná příkaz switch, jako alternativu lze použít třeba elseif

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]