Zum Inhalt

Operatoren

Lua verfügt über zahlreiche Operatoren.

arithmetische Operatoren

Arithmetische Operatoren wie +, -, *, / werden auf Zahlen angewendet. Da Zahlen immer Fließkommazahlen in Lua darstellen, sind Divisionen immer Gleitkomma-Divisionen:

1.0 / 2   -- result  0.5
1 / 2     -- result  0.5, not 0
1 - 3*4   -- result -11
41/10     -- result 4.1

Zuweisungsoperator

Die Zuordnung operator = überschreibt die Variable an der linken Seite mit dem Ergebnis der rechten Seite.

i = 10 - 2  -- result i==8

Operator ..

Der .. Operator verkettet Daten mit Zeichenketten (nach Umwandlung der Daten in eine Zeichenkette).

"At receiver: " .. 10.3 .. " dB" 
-- result: "At receiver: 10.3 dB"

Vergleichsoperatoren

Vergleichsoperatoren vergleichen Werte. Sie werden immer auf true oder false ausgewertet.

1 == 1 -- result: `true`
2 == 1 -- result: `false`
2 <= 1 -- result: `false`
2 >  1 -- result: `true`
2 >= 1 -- result: `true`
2 ~= 1 -- inequality, result: `false`
-- etc

Logische Operatoren

Die logischen Operatoren and, or und not können logische Aussagen ausdrücken. Diese verarbeiten logische Werte und zeigen das folgende Verhalten:

not true -- result: `false`
not false -- result: `true`
false and x -- result: `false` (short-circuit)
true and x -- result: `x` 
false or x -- result: `x`
true or x -- result: `true` (short-circuit)

and, or und not können auch mit nicht-booleschen Werten verwendet werden. Lua interpretiert nil als ob es false wäre. Alle anderen Werte werden als true-äquivalent interpretiert.

not 0 -- result: `false` since 0 is true-ish
not nil -- result: `true` since nil is false-ish