Latest web development tutorials

Lua Betreiber

Operator ist ein besonderes Symbol, verwendet, um den Interpreter zu sagen, bestimmte mathematische oder logische Operationen auszuführen. Lua bietet die folgenden Arten von Operatoren:

  • Arithmetische Operatoren
  • Relationale Operatoren
  • Logische Operatoren
  • Andere Betreiber

Arithmetische Operatoren

Die folgende Tabelle listet die Lua Sprache häufig verwendet, arithmetische Operatoren, den Wert von A 10, B-Wert von 20:

Die Betreiber Beschreibung Beispiele
+ Zusatz A + B-Ausgang 30
- Subtraktion A - B Ausgang -10
* Multiplikation A * B 200 Ausgang
/ Division B / A w Ausgang 2
% Rest B% Ein Ausgang 0
^ Potenzierung A ^ 2 Ausgang 100
- negatives Vorzeichen -A Ausgang v -10

Beispiele

Wir können durch die folgenden Beispiele auf ein besseres Verständnis der Anwendung von arithmetischen Operatoren:

a = 21
b = 10
c = a + b
print("Line 1 - c 的值为 ", c )
c = a - b
print("Line 2 - c 的值为 ", c )
c = a * b
print("Line 3 - c 的值为 ", c )
c = a / b
print("Line 4 - c 的值为 ", c )
c = a % b
print("Line 5 - c 的值为 ", c )
c = a^2
print("Line 6 - c 的值为 ", c )
c = -a
print("Line 7 - c 的值为 ", c )

Die oben genannten Programmausführung Ergebnisse:

Line 1 - c 的值为 	31
Line 2 - c 的值为 	11
Line 3 - c 的值为 	210
Line 4 - c 的值为 	2.1
Line 5 - c 的值为 	1
Line 6 - c 的值为 	441
Line 7 - c 的值为 	-21

Relationale Operatoren

Die folgende Tabelle listet gemeinhin als die Sprache Lua relationalen Operatoren verwendet wird, auf einen Wert von 10, B-Wert von 20:

Die Betreiber Beschreibung Beispiele
== Gleich, testen, ob zwei Werte gleich sind, gleiche true zurück, andernfalls false (A == B) falsch ist.
~ = Ist das nicht gleich zu erkennen, ob zwei Werte gleich sind, gleich false zurück, sonst ist es true zurück < (A ~ = B) ist wahr.
> Größer als wenn der Wert größer als der Wert von der rechten Seite nach links, gibt true zurück, andernfalls false (A> B) falsch ist.
< Weniger als, größer als der Wert, wenn der Wert von links nach rechts, und false zurückgibt, andernfalls gibt es wahr (A <B) wahr ist.
> = Größer als oder gleich, wenn der Wert größer als oder gleich der rechten Seite der linken, kehrt es wahr, falsch sonst (A> = B) gibt false zurück.
<= Oder weniger, wenn der Wert kleiner als oder gleich Wert rechts von der linken Seite, gibt true zurück, andernfalls false (A <= B) gibt true zurück.

Beispiele

Wir können die folgenden Beispiele auf ein besseres Verständnis der Anwendung von relationalen Operatoren durch:

a = 21
b = 10

if( a == b )
then
   print("Line 1 - a 等于 b" )
else
   print("Line 1 - a 不等于 b" )
end

if( a ~= b )
then
   print("Line 2 - a 不等于 b" )
else
   print("Line 2 - a 等于 b" )
end

if ( a < b )
then
   print("Line 3 - a 小于 b" )
else
   print("Line 3 - a 大于等于 b" )
end

if ( a > b ) 
then
   print("Line 4 - a 大于 b" )
else
   print("Line 5 - a 小于等于 b" )
end

-- 修改 a 和 b 的值
a = 5
b = 20
if ( a <= b ) 
then
   print("Line 5 - a 小于等于  b" )
end

if ( b >= a ) 
then
   print("Line 6 - b 大于等于 a" )
end

Die oben genannten Programmausführung Ergebnisse:

Line 1 - a 不等于 b
Line 2 - a 不等于 b
Line 3 - a 大于等于 b
Line 4 - a 大于 b
Line 5 - a 小于等于  b
Line 6 - b 大于等于 a

Logische Operatoren

Die folgende Tabelle listet gemeinhin als die Sprache Lua logischen Operatoren verwendet, stellen Sie einen Wert true, B-Wert ist falsch:

Die Betreiber Beschreibung Beispiele
und Logische UND-Operator. Wenn beide gilt Betriebszustand wahr. (A und B) ist falsch.
oder Logische OR-Operator. Wenn ein Vorgang auf beiden Seiten von elf Bedingung wahr ist, ist wahr. (A oder B) ist wahr.
nicht Logischer NOT-Operator. Und Logikoperation Gegenteil, wenn die Bedingung wahr ist, ist die logische Negation false. nicht (A und B) gilt.

Beispiele

Wir können die folgenden Beispiele auf ein besseres Verständnis der Anwendung der logischen Operatoren durch:

a = true
b = true

if ( a and b )
then
   print("a and b - 条件为 true" )
end

if ( a or b )
then
   print("a or b - 条件为 true" )
end

print("---------分割线---------" )

-- 修改 a 和 b 的值
a = false
b = true

if ( a and b )
then
   print("a and b - 条件为 true" )
else
   print("a and b - 条件为 false" )
end

if ( not( a and b) )
then
   print("not( a and b) - 条件为 true" )
else
   print("not( a and b) - 条件为 false" )
end

Die oben genannten Programmausführung Ergebnisse:

a and b - 条件为 true
a or b - 条件为 true
---------分割线---------
a and b - 条件为 false
not( a and b) - 条件为 true

Andere Betreiber

Die folgende Tabelle listet die Sprache Lua Verkettungsoperator und Berechnungstabellen oder die Länge der String-Operatoren:

Die Betreiber Beschreibung Beispiele
.. Verketten zwei Strings a..b, die ein "Hallo" ist, b ist "World", Ausgabe "Hallo Welt" ist.
# Unärer Operator, gibt die Länge der Zeichenfolge oder Tabelle. # "Hallo" liefert 5

Beispiele

Wir können mit den Bediener oder String-Länge-Berechnungstabelle Operator-Anwendungen die folgenden Beispiele auf ein besseres Verständnis der Verbindung durch:

a = "Hello "
b = "World"

print("连接字符串 a 和 b ", a..b )

print("b 字符串长度 ",#b )

print("字符串 Test 长度 ",#"Test" )

print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )

Die oben genannten Programmausführung Ergebnisse:

连接字符串 a 和 b 	Hello World
b 字符串长度 	5
字符串 Test 长度 	4
w3cschool本教程网址长度 	16

Operator Präzedenz

In absteigender Reihenfolge:

^
not    - (unary)
*      /
+      -
..
<      >      <=     >=     ~=     ==
and
or

Zusätzlich zu all außen .. ^ und binären Operatoren sind links verbunden.

a+i < b/2+1          <-->       (a+i) < ((b/2)+1)
5+x^2*8              <-->       5+((x^2)*8)
a < y and y <= z     <-->       (a < y) and (y <= z)
-x^2                 <-->       -(x^2)
x^y^z                <-->       x^(y^z)

Beispiele

Wir können die folgenden Beispiele auf ein besseres Verständnis der Sprache Lua Operatorpräzedenz durch:

a = 20
b = 10
c = 15
d = 5

e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d 运算值为  :",e )

e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d 运算值为 :",e )

e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) 运算值为 :",e )

e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / d 运算值为   :",e )

Die oben genannten Programmausführung Ergebnisse:

(a + b) * c / d 运算值为  :	90.0
((a + b) * c) / d 运算值为 :	90.0
(a + b) * (c / d) 运算值为 :	90.0
a + (b * c) / d 运算值为   :	50.0