Лучшее руководство по оператор Lua в 2024 году. В этом руководстве вы можете изучить Арифметические операторы,Операторы отношения,Логические операторы,Другие операторы,Оператор Внеочередные,

оператор Lua

Оператор специальный символ, используемый для указания интерпретатора для выполнения конкретных математических или логических операций. Lua предоставляет следующие типы операторов:

  • Арифметические операторы
  • Операторы отношения
  • Логические операторы
  • Другие операторы

Арифметические операторы

В следующей таблице перечислены язык Lua обычно используются арифметические операторы, установите значение A 10, B значение 20:

операторы описание примеров
+ прибавление Выход + B 30
- вычитание A - выход B -10
* умножение A B 200 выход *
/ разделение B / A ш выход 2
% остаток Выход B% A 0
^ Возведение Л ^ 2 выхода 100
- знак минус -А Выход v -10

примеров

Мы можем с помощью следующих примеров для более глубокого понимания применения арифметических операторов:

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 )

Приведенные выше результаты выполнения программы:

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

Операторы отношения

В следующей таблице перечислены язык Lua обычно используются операторы отношения, установите значение 10, B значение 20:

операторы описание примеров
== Ровный, тестирование ли два значения равны, равные возвращает истину, иначе ложь (A == B) является ложным.
~ = Не равно обнаружить ли два значения равны, равные возвращает ложь, в противном случае она возвращает истину < (A ~ = B) является истинным.
> Больше, чем если значение больше, чем значение справа налево, возвращает истину, иначе ложь (A> B) неверно.
< Меньше чем, больше, чем значение, если значение слева направо, и возвращает ложь, в противном случае она возвращает истину (A <B) истинно.
> = Больше чем или равно, если значение больше или равно справа налево, он возвращает истину, иначе ложь (A> = B) возвращает ложь.
<= Или менее, если значение меньше или равно значение справа налево, возвращает истину, иначе ложь (A <= B) возвращает истину.

примеров

Мы можем с помощью следующих примеров для более полного понимания применения реляционных операторов:

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

Приведенные выше результаты выполнения программы:

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

Логические операторы

В следующей таблице перечислены язык Lua обычно используются логические операторы, установите значение истина, значение B является ложным:

операторы описание примеров
и Логическое И оператор. Если оба верны условия эксплуатации верно. (А и В) ложно.
или Логический оператор ИЛИ. Если какая-либо операция верно с обеих сторон одиннадцать условие истинно. (А или В) истинно.
не Логический оператор НЕ. И логическая операция наоборот, если условие истинно, то логическое отрицание ложно. нет (А и В) истинно.

примеров

Мы можем с помощью следующих примеров для более глубокого понимания применения логических операторов:

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

Приведенные выше результаты выполнения программы:

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

Другие операторы

В следующей таблице перечислены языка конкатенации оператора и расчетные таблицы Lua или длину строки операторов:

операторы описание примеров
ru Конкатенация двух строк arub, который является "Hello", Ь "Мир", выход "Hello World".
# Унарный оператор, возвращает длину строки или таблицы. # "Hello" возвращает 5

примеров

Мы можем с помощью следующих примеров для более глубокого понимания связи с оператором или строковых приложений оператора длина вычисления таблицы:

a = "Hello "
b = "World"

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

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

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

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

Приведенные выше результаты выполнения программы:

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

Оператор Внеочередные

В порядке убывания:

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

В дополнение ко всему снаружи ru ^ и бинарные операторы остались связаны между собой.

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)

примеров

Мы можем с помощью следующих примеров для более глубокого понимания оператора Lua язык старшинства:

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 )

Приведенные выше результаты выполнения программы:

(a + b) * c / d 运算值为  :	90.0
((a + b) * c) / d 运算值为 :	90.0
(a + b) * (c / d) 运算值为 :	90.0
a + (b * c) / d 运算值为   :	50.0
оператор Lua
10/30