首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Lua⭐️table、boolean、字符串组合

Lua⭐️table、boolean、字符串组合

作者头像
星河造梦坊官方
发布2024-08-14 17:30:05
发布2024-08-14 17:30:05
25200
代码可运行
举报
运行总次数:0
代码可运行

🟥 table

table除了菜鸟教程上的示例,还可当作字典来使用。下面展示了当做字典、数组的方法,和如何遍历table、增删修改table

table出了如下功能,在引用上需要注意:

tableA={“1”,“2”,“3”}

tableB=tablea

此时tableA=nil 只是tableA这个表销毁了,但其中存储的数据还没有被销毁,访问tableB仍可访问该内存。只有当引用该内存的变量都被销毁,该内存才会被回收

代码语言:javascript
代码运行次数:0
运行
复制
--table当做字典使用
mytable={Key1=100,Key2="value2"}
print(mytable.Key1)
mytable.Key1=nil
mytable=nil

--table当做数组使用   Lua中索引从1开始,C#中从零开始
mytable2={"a","b","c"}
print(mytable2[1])

--遍历table,key和val也可写为K,V
for key,val in pairs(mytable2) do
	print(key..":"..val)
end

--table表的添加
mytable3={}
mytable3.key1="10"
print(mytable3.key1)
mytable3[2]="20"
print(mytable3[2])

--table表的修改
mytable3[2]="30"

--table表的移除:移除2之后,并不意味着3会移到2位置,此时table序号就不连续了,3还在3的位置
mytable3[100]="apple"
mytable3[2]=nil
mytable3=nil




>lua -e "io.stdout:setvbuf 'no'" "table.lua" 
100
a
1:a
2:b
3:c
10
20
>Exit code: 0

table如何除了菜鸟教程上讲解的插入,还有如下方法

代码语言:javascript
代码运行次数:0
运行
复制
mytable={}
mytable[#mytable+1]="Lua"
print(mytable[#mytable])

table移除

代码语言:javascript
代码运行次数:0
运行
复制
--移除mytable的最后一位
table.remove(mytable)

--移除指定位的键值对,后面的键值对会前移
table.remove(mytable,2)

🟧 boolean

boolean 类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看作是"假",其他的都为"真":

“其他都为真”意味着即使if10,也可输出a

代码语言:javascript
代码运行次数:0
运行
复制
mytable={Key1="value1",Key2="value2"}
print(mytable.Key1)
mytable.Key1=nil
mytable=nil

if 10 then
print("a")
end

🟨 字符串组合

Lua中用 .. 两个点将两个字符串组合成一个,数字是不可以组拼的

代码语言:javascript
代码运行次数:0
运行
复制
str1="2"
str2="8"
print(str1..str2)
print(str1+str2)


>lua -e "io.stdout:setvbuf 'no'" "table.lua" 
28
10
>Exit code: 0

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 table
  • 🟧 boolean
  • 🟨 字符串组合
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档