Latest web development tutorials

оператор 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 или длину строки операторов:

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

примеров

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

a = "Hello "
b = "World"

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

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

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

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

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

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

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

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

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

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

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