标准库(标准函数)
Lua内置提供了一些常用的函数帮助我们开发
1,数学处理的math相关函数
2,字符串处理的string相关函数
3,表处理的table相关函数
4,文件操作的io相关函数
数学运算函数
math.abs math.cos math.max math.maxinteger math.min math.random math.sin math.sqrt math.tan
字符串处理相关函数
string.byte string.char string.find sting.format string.lower string.sub string.upper
.. 字符串相加
tostring() 把一个数字转化成字符串
tonumber() 把一个字符串转化成数字
table 表
在Lua中的table类似C#中的字典,其实就是一个 key-value键值对的数据结构。
1,table的创建
myTable = {}
表名后面使用{}赋值,表示一个空的表
2,table的赋值
myTable[3]=34 当键是一个数字的时候的赋值方式
myTable["name"]="taikr" 当键是一个字符串的赋值方式
myTable.name = "siki"当键是一个字符串的赋值方式
3,table的访问
myTable[3] 当键是数字的时候,只有这一种访问方式
myTable.name 当键是字符串的时候有两种访问方式
myTable["name"]
4,table的第二种创建方式
myTable = {name="taikr",age=18,isMan = false}
(表创建之后依然可以添加数据)
数据访问
myTable.name
myTable["name"]
5,table的第三种方式(类似数组的使用)
myTable = {34,34,34,3,4,"sdfdsf"}
当没有键的时候,编译器会默认给每一个值,添加一个数字的键,该键从1开始
表的遍历
表的遍历分为两种
1,如果是只有数字键,并且是连续的可以使用下面的遍历
for index = 1,table.getn(myTable) do
[code to execute]
end
2,所有的表都可以通过下面的方式遍历
for index,value in pairs(myNames) do
print(index,value)
end
表相关的函数
1.table.concat
把表中所有数据连成一个字符串
2,table.insert
向指定位置插入一个数据
3,table.move
移动数据
4,table.pack
包装成一个表
5,table.remove
移除指定位置的数据
6,table.sort
排序
7,table.unpack
返回一个数组,指定范围的数组
通过表来实现面向对象
myTable={} 申明对象
local this = myTable声明this关键字代表当前对象
--定义并声明对象中的属性
myTable.name="siki"
myTable.age = 110
--定义并声明对象中的方法
myTable.function = function ()
[code to execute]
end
function myTable.function ()
[code to execute]
end