Programování v Lua/Výrazy

Z Wikiverzity

Poznámky[editovat]

Teorie[editovat]

Matematické operátory[editovat]

Sčítání[editovat]

  • značí se +
myAddition1 = 10 + 5   -- 15
myAddition2 = 7326 + 10859   -- 18185

Odčítání[editovat]

  • značí se -
mySubtraction1 = 125 - 96   -- 29
mySubtraction1 = 0 - 75   -- -75

Násobení[editovat]

  • značí se *
myMultiplication1 = 3 * 4   -- 12
myMultiplication2 = 3.14 * 2 * 2   -- 12.56

Dělení[editovat]

  • značí se /
myDivision1 = 47 / 9   -- 9
myDivision2 = 6780 / 32   -- 211.875
myDivision3 = 10 / 3   -- 3.3333333333333

Modulo[editovat]

  • značí se %
  • vrátí zbytek po dělení
myModulo1 = 27 % 15   -- 12
myModulo2 = 10 % 3   -- 1
myModulo3 = 10 % 3.3   -- 0.1

Negace[editovat]

  • značí se -
  • jedná se o unární operátor, tzn. je potřeba pouze jediný operand
a = 7   -- 
b = -a   -- do b se uloží -7
c = -b   -- do c se uloží 7

Umocňování[editovat]

  • značí se ^
  • příliš se nepoužívá, kvůli velké výpočetní náročnosti

Relační operátory[editovat]

  • <, >, <=, >=, ==, ~=
  • výstupem je buď true (pravda), nebo false (nepravda)

Logické operátory[editovat]

  • and, or, not

Zřetězení (Concatenation)[editovat]

  • značí se ..
  • spojení dvou a více stringů (řetězců); pokud je některým z operandů číslo, Lua ho převede na string (řetězec)
myConcat1 = "Hello " .. "World!"   -- Hello World!
myConcat2 = "ed" .. "u" .. "ca" .. "tion"   -- education
myConcat3 = "The number is " .. 8 .. "."  -- The number is 8.

Priorita operátorů[editovat]

  • určuje pořadí, ve kterém se vykonávají jednotlivé operace[1]
()
^
not  -   -- unární (negace nikoliv odčítání)
*   /
+   -
..
<   >   <=  >=  ~=  ==
and
or

Table constructor[editovat]

  • tabulkový konstruktor[2]

Odkazy[editovat]

  1. https://www.lua.org/pil/3.5.html (Precedence)
  2. https://www.lua.org/pil/3.6.html (Table Constructors)