lua明坑暗坑>>传值和表

本文探讨了Lua中的传值与传址特性,强调了除table外其他都是传值。重点介绍了table作为核心数据结构的灵活性,包括如何正确进行索引操作。此外,还补充说明了Lua中所有值都是第一类值,允许函数作为变量、参数和返回值。
摘要由CSDN通过智能技术生成

俗话说得好,明bug好写,暗bug难防。在使用各语言的时候都免不了会踩坑,lua也是如此。

传址和传值

这里让我们先快速明确一件事情lua中除了table的名字是传址,其他都是传值

表(table)

灵活的表

lua中,table是非常重要的数据结构,它不固定大小,可以构建多种数据结构非常灵活
这里据一个小例子:list = {} 就创建了一个新的table
list[1] = "hello"
list[2] = "world"
这个table里就有了两个字符串,这时如果print(list) 会得到什么呢?没错,记住本文开头讲的,你会得到list的地址。

正确的索引姿势

lua中的key-value是怎么一会事呢?
说到key-value,大家马上会想到字典(dictionary)。Lua中,table当然也能作为dictionary使用,比较的是,key可以为除了nil的各种类型(如下):

t={}
t[{}] = "table"  -- key 可以是 table
t[1] = "int"  -- key 可以是整数
t[1.1] = "double" -- key 可以是小数
t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值