Сделайте вызов в Lua для потенциально не выставленной функции в tolua ++

У меня есть скрипт Lua, который использует некоторые функции моего приложения C ++.
Я использую этот скрипт с двумя различными приложениями C ++, и я хотел бы иметь возможность защитить вызов, чтобы не быть связанным через tolua.

Например:
— Допустим, у меня есть два приложения на C ++: MyApp1 и MyApp2
— Я сделал обертку MyApp1 с tolua ++, и я вызываю одну из его функций, например, в скрипте Lua:

MyApp1:MyFunc()

Теперь я использую тот же сценарий с MyApp2, который не имеет привязки tolua ++ этого типа.
И тогда я получаю ошибку такого типа:

[строка «MyApp2.lua»]: 157: попытка индексировать глобальное «MyApp1» (нулевое значение)

Поэтому я бы хотел, чтобы Lua не выслал мне ошибку при вызове этого метода.
Я пытался использовать:

pcall( MyApp1:MyFunc() )

Но сценарий продолжает сбой на этой линии.

1

Решение

if MyApp1 then
MyApp1:MyFunc()
end
2

Другие решения

if MyApp1 then
MyApp1:MyFunc()
end

Выше будет работать, но не чище ли отделить зависимые от приложения и независимые скрипты? Таким образом, вы не должны беспокоиться об этом.

1

По вопросам рекламы [email protected]