Lua-基础知识细节

本文介绍了Lua语言中的字符串特性,包括其存储方式及与其他数据类型之间的转换。此外还讲解了Lua中的逻辑运算符、如何使用局部变量提升程序效率,以及函数多返回值的使用技巧,并通过示例展示了unpack函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String

1.lua是8位字节,可以存储0,可以存储任意二进制数据,1M的string在lua中很常见

2.string转换数字可以用tonumber(),如果string不是正确的数据则返回nil

3.数字转换成string可以用tostring(),也可以用numbers .. ""


逻辑运算符

and or not

a and b -- 如果a为false则返回a,否则返回b

a or b -- 如果a为true则返回a,否则返回b

C语言中的三元运算符

a ? b : c

Lua中可以这样实现:

(a and b) or c


局部变量与代码块

应该尽可能的使用局部变量,有两个好处:

1.避免命名冲突

2.访问局部变量比全局变量快


函数-多返回值

function foo () return 'a', 'b' end

x, y = foo(), 10 -- x = a, y = 10

x, y, z = foo() , 10, 20 -- x = a, y = 10, z = 20

print(foo()) -- a, b

print(foo(), 1) -- a, 1

a = {foo()} -- a[1] = a, a[2] = b

a = {foo(), 4} -- a[1] = a, a[2] = 4

可以使用圆括号强制返回一个值

print((foo())) -- a


unpack

返回table

f = string.find()

a = {"hello", "ll"}

print(f(unpack(a))) -- 3, 4

info = {1, 2, 3, 4, 5, 6}

a, b, c, d, e, f = unpack(info); -- 1, 2, 3, 4, 5, 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值