(Lua 笔记):table定义、连接、插入、删除、排序

目录

Lua表的定义

table连接、插入、删除、排序

table连接:table.concat

table插入:table.insert

table移除:table.remove

table排序:table.sort


Lua表的定义

  • 案例1:
mytable = {}

mytable[1] = "Lua"  --表可以自动扩充

mytable[1] = nil --删除第一个元素

mytable = nil  --删除表
  • 案例2:
mytable = {}  --创建空表

print( type(mytable) )  --输出为table
  • 案例3:
mytable = {}

mytable[1] = "Lua"
mytable["name"]="siki"

newtable = mytable   --newtable与mytable指向同一张表,可以看成引用

print(newtable[1])  --Lua
print(mytable[1])   --Lua

newtable[1]="C#"

print(newtable[1])   --C#
print(mytable[1])    --C#

newtable[2]="Java"

print(mytable[2])   --Java

mytable = nil
print(mytable.name)  --mytable已经删除,这里报错

print(newtable.name)  --siki
                      --想要彻底删除这张表,使newtable = nil

table连接、插入、删除、排序

table连接:table.concat

mytable = {"Lua","C#","Java","C++","C","abc","ABC"}

print( table.concat(mytable) )  --将table中所有字符串进行连接

print( table.concat(mytable,",") ) --将table中字符串以","分隔进行连接

print( table.concat(mytable,",",2,4) )  --将table中索引2至4字符串以","分隔进行连接

输出:
LuaC#JavaC++CabcABC
Lua,C#,Java,C++,C,abc,ABC
C#,Java,C++

table插入:table.insert

mytable = {"Lua","C#","Java","C++","C","abc","ABC"}

--mytable[6]="PHP"
mytable[#mytable+1]="PHP"

print(mytable[#mytable])

table.insert( mytable,"Javascript" )

print(mytable[#mytable])

table.insert(mytable,2,"Boo")

print(mytable[2],mytable[3])

输出:
PHP
Javascript
Boo	C#

table移除:table.remove

mytable = {"Lua","C#","Java","C++","C","abc","ABC"}

mytable[2]=nil

print(mytable[2])

table.remove(mytable,2)

print(mytable[2])

输出:
nil
Java

table排序:table.sort

mytable={34,32,34,2,45,45,435,6,4576}

print("排序前")

for k,v in ipairs(mytable) do
	print(k,v)
end
table.sort(mytable)
print("排序后")
for k,v in ipairs(mytable) do
	print(k,v)
end

输出:
排序前
1	34
2	32
3	34
4	2
5	45
6	45
7	435
8	6
9	4576
排序后
1	2
2	6
3	32
4	34
5	34
6	45
7	45
8	435
9	4576

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/108495690