您当前的位置: 首页 > 

染指流年灬

暂无认证

  • 2浏览

    0关注

    194博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Lua的一些特性

染指流年灬 发布时间:2020-07-14 17:36:39 ,浏览量:2

这里介绍一些关于Lua的比较特有的东西,在日常工作或者面试的时候可能会用到,对Lua不熟悉的可以先参考Programming in Lua这本书或者Lua 入门教程。

Lua的Table

table 是 Lua 的一种数据结构,也称为表,可以用来表示诸如数组,字典,结构体,类,命名空间等,开发者需要根据实际情况去判断这个表当前表示什么。表里面可以存放键值对,可以存放方法,也可以存放其他表,一般情况下,访问一个表里面不存在的键时会返回nil,nil与null同意。

-- 初始化空表
mytable = {
   }

-- 指定键为1对应的值为"Lua"
mytable[1]= "Lua"

-- 初始化表 键为1对应的值为"Hello" 键为2对应的值为"World" 
mytable2 = {
   "Hello", "World"}

-- mytable 和mytable2都指向同一个表 
-- 更改mytable2指向的表等于更改到mytable指向的表
mytable = mytable2 

-- 移除表
mytable = nil
-- lua 垃圾回收没有被引用的表来释放内存


表的常用方法 table.concat :将表里面的每个值连成字符串,有三个函数重载

fruits = {
   "banana","orange","apple"}
-- 连接后的字符串 	bananaorangeapple
print("连接后的字符串 ",table.concat(fruits))

-- 指定连接字符
-- 连接后的字符串 	banana, orange, apple
print("连接后的字符串 ",table.concat(fruits,", "))

-- 指定只有连接索引
-- 连接后的字符串 	orange, apple
print("连接后的字符串 ",table.concat(fruits,", ", 2,3))

table.insert:将某个值插入到表里面 table.remove 移除表里面某个元素

fruits = {
   "banana","orange","apple"}

-- 在末尾插入
table.insert(fruits,"mango")
-- 索引为 4 的元素为  mango
print("索引为 4 的元素为 ",fruits[4])

-- 在索引为 2 的键处插入
table.insert(fruits,2,"grapes")
-- 索引为 2 的元素为   grapes
print("索引为 2 的元素为 ",fruits[2])

-- 最后一个元素为     mango
print("最后一个元素为 ",fruits[5])
table.remove(fruits)
-- 移除后最后一个元素为   nil
print("移除后最后一个元素为 ",fruits[5])

table.sort 将表里面的元素排序 table.sort (table [, comp]) 对一个长度为length=n的数组table排序,也就是对table[1]到table[n]排序,如果参数comp不省略,则它必须是一个函数,这个函数带有两个参数,接收表table的两个元素,在第一个元素排在第二个元素前面时返回true,其他情况返回false,如果省略参数comp,则Lua标准运算符

关注
打赏
1665909078
查看更多评论
立即登录/注册

微信扫码登录

0.0364s