可变函数中默认的arg数组最后一位是数组长度
lua5.3中取消了默认arg,需要在函数体内自行定义
可变函数中默认的arg数组最后一位是数组长度
lua5.3中取消了默认arg,需要在函数体内自行定义
arg表里面存了一个键值对:"n":[value],它在arg表的末尾
Lua
用于热更新
“#”可以计算长度,中文占两个长度,长度是根据字节来计算的
字符串多行使用
[[
.....
]]
function f(...)
end
...表示可变参数
{。。。}表示数据
while(括号可有可无) do end
if(括号可有可无) then end
简单的输出语句:
print('hello wrold')
结尾分号可加可不加
注释:
1.-- 单行注释
2.--[[ 多行注释]]--
for循环
1.数值for的遍历
for var=start , endvar ,
(什么都没有就是+1) step(步长) do
print(var)
end
tabl中的索引从1开始
public void Test(){}
arg == arg(...+参数个数)
lua中的模块(相当于C#内的命名空间):
module={}一个模块
module.var=“siki”
module.func1=function()
print("这个是module里面的函数")
end
local function func2()
print("这个是局部函数")
end
function module.func3()
print("这个是全局函数")
end
return module
另一个脚本:
--require "模块名" 类似using
require “module”
print(module.var)
module.func1()
-- lua省略参
function test(...)
-- 可以获得省略参所构成的表arg,并且表的最后一个值存储了当前参数的个数
arg
-- 如果不想要参数的个数可以对
end
局部变量的运行速度要比全局变量的快
局部变量用local表示
原表中存在的__metatable的键值对的话,setmetatable会失败。
__metatable可以用来保护元表
元表中的__index方法的作用是:
当我们访问表中不存在的key值的时候就会默认调用元表中的__index方法。__index可以是一个方法,也可以是一张表。
__newindex跟__index一样后面既可以跟方法,也可以跟表
当我们给表中添加新的键值对的时候调用__newIndex方法
有了__newindex方法后他不会自动添加进去,只会调用这个方法,如果我们想要将数据添加进去的话需要用到rawset方法
__add函数当我们对表格进行假发运算的时候执行此函数
__add=function(tab,newtab)
local mi=0
for k,v in pairs(tab) do
if(k>mi) then
mi=k
end
end
for k,v in pairs(newtab) do
mi=mi+1
tab.insert(tab,mi,v)
end
return tab
end
LUA語言中
字符串的組拼是使用两个点
__call原方法当我们把表当作函数来调用的时候默认使用__call原方法
__call=function(tab,arg)
print(arg)
return siki
end