我有一个使用我的 C++ 应用程序的一些功能的 Lua 脚本。我将此脚本与 2 个不同的 C++ 应用程序一起使用,并且我希望能够保护未通过 tolua 绑定的调用。
例如: - 假设我有两个 C++ 应用程序:MyApp1 和 MyApp2 - 我用 tolua++ 制作了 MyApp1 的包装器,并在 Lua 脚本中调用它的一个函数:
MyApp1:MyFunc()
现在我在 MyApp2 中使用相同的脚本,它没有任何这种类型的 tolua++ 绑定。然后我得到这种类型的错误:
[string "MyApp2.lua"]:157: 尝试索引全局 'MyApp1' (一个 nil 值)
所以我希望 Lua 在调用这个方法时不要给我一个错误。我尝试使用:
pcall( MyApp1:MyFunc() )
但是脚本一直在这条线上崩溃。