lua: dofile 调用
lua版本: 5.3.6
1.example.lua
function add(a,b)
print("enter add")
return a+b
end
return{
-- handle 是 dofile 返回的句柄, 将 add 赋值给 handle, 就要通过 handle 调用 add 方法
handle=add
}
2. 直接调用函数
dofile直接调用函数, 如果调用过程中函数异常,无法处理异常
local example = dofile("D:/work/project/dics-lua/src/com/skd/example.lua")
result = example.handle(1,2)
print("result",result)
执行结果
enter add
result 3
3. 保护模式调用函数
local example = dofile("D:/work/project/dics-lua/src/com/skd/example.lua")
success, result = pcall(example.handle,1,2)
if success then
print("add success, result",result)
else
print("add err",result)
end
success, result = pcall(example.handle,"a","2")
if success then
print("add success, result",result)
else
print("add err",result)
end
执行结果
enter add
add success, result 3
enter add
add err D:/work/project/dics-lua/src/com/skd/example.lua:4: attempt to perform arithmetic on a string value (local 'a')
如果文章对您有所帮助,可以点一下推荐