深入学习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

《Lua游戏开发实践指南》学习笔记3_Lua

I/O基础

io.open()打开文件来输出数据

myfile = io.open("data.lua","w")

如果打开或创建的时候发生错误,返回值是nil

io.close()关闭文件

write()写入数据