Lua在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
unicode编码转换 发布于:2024-03-13 11:33 Lua_base64加解码 发布于:2024-03-13 14:28 table常用方法 发布于:2024-02-28 00:01 Lua 条件控制语法 发布于:2024-02-25 23:51 lua 课程 发布于:2024-02-24 17:12 啊pascal 发布于:2024-01-10 11:33 leetcode simple 发布于:2024-01-02 17:46 Lua测试 发布于:2023-11-04 16:14 包含 1、Hex转字符串 2、字符串转Hex 3、二进制与或非 发布于:2023-09-20 18:28 测试产量代码 发布于:2023-07-17 12:52 lua 基本语法测试 发布于:2023-06-25 11:11 我的 lua 测试代码 发布于:2023-06-17 17:31 LUA调用c函数的一些经验 发布于:2023-06-09 15:02 测试load 发布于:2023-07-12 16:32 lua 元表测试 发布于:2023-06-07 15:06 判断整数是不是2的倍数! 发布于:2023-05-16 16:18 每n个元素放为一组 发布于:2023-03-29 14:46 删除超出上限table测试 发布于:2024-01-07 14:52 使用lua调用redis指令,以此保证redis指令的原子性 发布于:2023-02-04 22:25 组合木板游戏 发布于:2022-11-14 19:38 n中删除k个数字 发布于:2022-11-13 15:31 最大数的输出 发布于:2022-11-09 12:48 修正版!! 发布于:2022-11-05 16:33 随便写写。 发布于:2022-11-05 16:27 lua友好数 发布于:2022-11-01 22:05 回文数lua 发布于:2022-11-01 21:06 回文数lua 发布于:2022-11-01 20:54 暂时保存。 发布于:2022-10-29 18:48 限流lua脚本 发布于:2022-10-28 09:59 鸡兔同笼啊 发布于:2022-10-17 17:37 Fibonacci 5 发布于:2022-10-11 17:27 --验证判断ProductType方法 发布于:2022-09-07 15:32 lua的闭包代码 发布于:2022-07-28 15:09 语法糖函数递归 发布于:2022-07-28 14:51 对于局部函数的使用,lua语言提供一种语法糖 发布于:2022-07-28 14:47 非全局函数 发布于:2022-07-28 14:37 函数调用函数,计算器 发布于:2022-07-27 09:55 (加减乘除)计算器 发布于:2022-07-26 17:42 九九乘法表 发布于:2022-07-26 17:14 lua的table遍历测试 发布于:2022-06-09 14:49 毕业设计代码 发布于:2022-05-14 12:56 Speed SSG 08 发布于:2021-09-09 00:14 排序算法demo 发布于:2021-08-24 11:26 electrode voltage 发布于:2021-06-10 18:08 晓美焰角色 发布于:2021-04-15 23:29 输出三角形 发布于:2021-03-24 17:27 lua 元表 __add方法 发布于:2020-12-16 18:31 RK算法Lua版 发布于:2020-09-14 15:15 模块打包测试 发布于:2020-08-04 11:34 树型打印一个 table 发布于:2020-07-15 16:41 [更多]
显示目录

运算符



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

Lua 运算符

运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 其他运算符

算术运算符

下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:

操作符 描述 实例
+ 加法 A + B 输出结果 30
- 减法 A - B 输出结果 -10
* 乘法 A * B 输出结果 200
/ 除法 B / A w输出结果 2
% 取余 B % A 输出结果 0
^ 乘幂 A^2 输出结果 100
- 负号 -A 输出结果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 语言中的常用关系运算符,设定 A 的值为10,B 的值为 20:

操作符 描述 实例
== 等于,检测两个值是否相等,相等返回 true,否则返回 false (A == B) 为 false。
~= 不等于,检测两个值是否相等,相等返回 false,否则返回 true< (A ~= B) 为 true。
> 大于,如果左边的值大于右边的值,返回 true,否则返回 false (A > B) 为 false。
< 小于,如果左边的值大于右边的值,返回 false,否则返回 true (A < B) 为 true。
>= 大于等于,如果左边的值大于等于右边的值,返回 true,否则返回 false (A >= B) is not true.
<= 小于等于, 如果左边的值小于等于右边的值,返回 true,否则返回 false (A <= B) is true.

实例

我们可以通过以下实例来更加透彻的理解关系运算符的应用:

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 语言中的常用逻辑运算符,设定 A 的值为 true,B 的值为 false:

操作符 描述 实例
and 逻辑与操作符。 如果两边的操作都为 true 则条件为 true。 (A and B) 为 false。
or 逻辑或操作符。 如果两边的操作任一一个为 true 则条件为 true。 (A or B) 为 true。
not 逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false。 not(A and B) 为 true。

实例

我们可以通过以下实例来更加透彻的理解逻辑运算符的应用:

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 ,其中 a 为 "Hello " , b 为 "World", 输出结果为 "Hello World"。
# 一元运算符,返回字符串或表的长度。 #"Hello" 返回 5

实例

我们可以通过以下实例来更加透彻的理解连接运算符与计算表或字符串长度的运算符的应用:

a = "Hello "
b = "World"

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

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

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

print("jsrun在线教程网址长度 ",#"jsrun.net" )

以上程序执行结果为:

连接字符串 a 和 b     Hello World
b 字符串长度    5
字符串 Test 长度  4
jsrun在线教程网址长度    9

运算符优先级

从高到低的顺序:

^
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
由JSRUN为你提供的Lua在线运行、在线编译工具
        JSRUN提供的Lua 在线运行,Lua 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout