lua 特殊用法(多变量赋值、函数多返回值、and or[短路])

简介: lua 特殊用法、多变量赋值、函数多返回值

多变量赋值

--多变量赋值
a,b,c='123',666,true
print(a)
print(b)
print(c)

在这里插入图片描述
这语言是真的骚,全自动赋值
变量少了,自动补空

--全自动赋值
--变量少了,自动补空
t1,t2,t3=1,2
print(t1)
print(t2)
print(t3)

在这里插入图片描述

--变量多了,自动裁剪
t1,t2,t3=1,2,6,7,8
print(t1)
print(t2)
print(t3)

在这里插入图片描述

函数多返回值

--多返回值赋值
function Test()
    return 1,2,3,4
end

--获得返回值也是一样的,全自动的,多退少补
a,b,c=Test()
print(a)
print(b)
print(c)
print('-------------------------------')
a,b,c,d,e,f=Test()
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

在这里插入图片描述

and or(在lua内的逻辑运算符)

逻辑与或
and or 不仅可以与bool 其他任何东西也可以连


--lua中 只有 nil\false 才认为是假
--'短路'   对于and来说 有假则假   or来说 有真则真
--因此 只需要判断第一个是否满足 就会停止判断
print(1 and 2) --因为只有 nil\false 才认为是假,所以程序会继续执行到2
print(0 and 1) --同上
print(nil and 1) --因为只有 nil\false 才认为是假,所以程序停止执行下一个,返回nil

在这里插入图片描述

--or测试
--遇真则真,遇到真就不会再去计算后面的值了
print(1 or 2)
print(0 or 1)
print(nil or 1)

在这里插入图片描述
用lua 逻辑运算符实现三目运算

--lua虽然不支持三目运算符
--但我们可用lua 逻辑运算符实现
x=3
y=2
res = (x>y) and x or y
print(res)
--(x>y) and x -> x    and遇假则假
--x or y -> x         or遇真则真


x=1
res = (x>y) and x or y
print(res)
--(x>y)and x ->(x>y)
-- (x>y) or y -> y   (x>y)返回的是false(假) , or遇真则真,所以返回y

在这里插入图片描述
在这里插入图片描述

相关文章
|
6月前
|
存储 C语言 图形学
C 函数中如何保存 Lua 的数据(1)
C 函数中如何保存 Lua 的数据(1)
91 0
|
存储 Java C语言
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
92 0
|
1月前
lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
Lua的面向对象编程、协同线程与协同函数的概念和使用,以及Lua文件I/O操作的基本方法。
27 4
lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
|
1月前
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
52 1
|
6月前
|
C语言 C++ 索引
C 函数中如何保存 Lua 的数据(2)
C 函数中如何保存 Lua 的数据(2)
77 1
[✔️]lua中的module函数
[✔️]lua中的module函数
205 0
|
XML Java 数据格式
【Lua基础 第4章】Lua的流程控制、#的作用、table的创建方式、table表常用方法、函数、多返回值、可变长参数
Lua的流程控制、#的作用、table的创建方式、table表常用方法、函数、多返回值、可变长参数
147 0
【Lua基础 第4章】Lua的流程控制、#的作用、table的创建方式、table表常用方法、函数、多返回值、可变长参数
|
数据采集 大数据 开发者
Lua 语法函数|学习笔记
快速学习 Lua 语法函数
Lua 语法函数|学习笔记
lua语言——特殊用法
lua语言——特殊用法
250 0