深入学习Lua
table数据结构
在这里,小编给各位说个小伤感的笑话,我的一个好×××啊去一家公司面试,该企业面试的全是有关lua的题,其中有一道题是这样的,问“Lua中有数组吗?”我的好×××学C学多了,直接回答“有”,面试官脸上浮过一丝微笑,想必是中招了......
通常我们可以把table当做其他编程语言的数组来使用,如
myTable = {}
for index=1,100 do
myTable[index]=math.random(1,100)
end
//math.random还记得不?不记得往前翻翻,貌似是生成随机数
table.getn(myTable)
返回table中元素个数,如:
print(table.getn(myTable))
table.sort()
从小到大排序
for index=1,table.getn(myTable) do
print(myTable(index))
end
table.sort(myTable)
table.insert(myTable,position,value)
在table中插入一个新值,位置参数时可选的,如果没设定,会添加到末尾
table.insert(myTable,25,"hello")
table.remove(myTable,position)
从指定table中删除并返回一个元素,必要时重新索引table
print(table.remove(myTable,25))
table引用
table不仅能使用数字索引,还可以使用其它值作为索引值
myData = {}
myData.name = "Thar"
myData.str = math.random(3,18)
myData[1] = 17
pairs()
遍历函数中的每一个元素
myName = {"fred","lucky","no","best","bill"}
for index,value in pairs(myName) do
print(index,value)
end
I/O基础
io.open()打开文件来输出数据
myfile = io.open("data.lua","w")
如果打开或创建的时候发生错误,返回值是nil
io.close()关闭文件
write()写入数据