lua中 table

arr1 = {"hello","lua","world"}
print("arr1 是第二个元素是: " .. arr1[2])		--lua
arr2 = arr1
print("arr2 是第二个元素是: " .. arr2[2])		--lua
arr2[2] = "java"
print("arr1 是第二个元素是: " .. arr1[2])		--java  (arr1 与 arr2 指向同一块内存,所以arr2修改时arr1同样会被修改)
arr2 = nil --释放变量
print("arr1 是第二个元素是: " .. arr1[2])		--java  (arr2被释放后arr1仍然可以访问)


--table.concat(table [,sep [,start [,end]]]) : 连接指定table中的元素,sep指定连接时的分隔符; start,end指定数组起始位置
print(table.concat(arr1))			--hellojavaworld
print(table.concat(arr1," "))		--hello java world
print(table.concat(arr1," ",2))		--java world  (table 下标从1开始)

--table.insert(table, [pos,] value) :在table的数组部分指定位置(pos)插入值为value的一个元素. pos参数可选, 默认为数组部分末尾
table.insert(arr1,"lua")			--默认在table结尾插入
print(table.concat(arr1," "))		--hello java world lua
table.insert(arr1,2,"javascript")	--在下标为2的位置处插入
print(table.concat(arr1," "))		--hello javascript java world lua

--table.remove(table [,pos]) : 删除table中的元素,默认删除最后一个,也可以通过pos指定要删除元素的下标
table.remove(arr1)					--默认删除最后一个
print(table.concat(arr1," "))		--hello javascript java world
table.remove(arr1,2)				--删除下标为2的位置处的元素
print(table.concat(arr1," "))		--hello java world

--table.sort(table [,comp]) : 对指定的table进行排序,comp可以指定一个排序函数来对table进行排序
table.insert(arr1,2,"zz")
table.insert(arr1,4,"aa")
print(table.concat(arr1," "))		--hello zz java aa world
table.sort(arr1)
print(table.concat(arr1," "))		--aa hello java world zz

table.sort(arr1,function(a,b) return a>b end)
print(table.concat(arr1," "))		--zz world java hello aa




--当我们获取 table 的长度的时候无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数,
--而导致无法正确取得 table 的长度。
--可以使用以下方法来代替:
function table_leng(t)
	local leng=0
	for k, v in pairs(t) do
		leng=leng+1
	end
	return leng;
end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值