我有一个Lua脚本,它使用我的C ++应用程序的一些功能。 我将此脚本与2个不同的C ++应用程序一起使用,我希望能够保护不受tolua约束的调用。
例如: - 假设我有两个C ++应用程序:MyApp1和MyApp2 - 我使用tolua ++制作了MyApp1的包装器,并在Lua脚本中调用了它的一个函数:
MyApp1:MyFunc()
现在我使用与MyApp2相同的脚本,该脚本没有此类型的任何tolua ++绑定。 然后我得到这种类型的错误:
[string“MyApp2.lua”]:157:尝试索引全局“MyApp1”(零值)
所以我希望Lua在调用此方法时不要向我发送错误。 我试着用:
pcall( MyApp1:MyFunc() )
但是剧本一直在崩溃。
答案 0 :(得分:2)
if MyApp1 then
MyApp1:MyFunc()
end
答案 1 :(得分:1)
if MyApp1 then
MyApp1:MyFunc()
end
上面会有效,但是分离依赖于应用程序的脚本和独立脚本是不是更清晰?那样你就不必担心了。