Я встраиваю Lua в приложение C ++ и хочу предоставить функцию, похожую на print () (или, возможно, просто переопределить функцию печати Lua), чтобы я мог передавать переменные простых типов данных (string, boolean и number) в мой Приложение C ++ в виде строк.
Итак, я хочу иметь функцию C ++, которую я экспортирую в Lua, с именем my_print ()
Затем я могу вызвать my_print () в блоке Lua следующим образом:
a = 22/7
b = false
c = 42
my_print('The value of variable a is: ' .. a)
my_print('b: ' .. b)
my_print('c is: ' .. c)
Каждый раз, когда вызывается my_print (), он передает строку C ++ в приложение C ++. Я взглянул на Lua C API, подозреваю, что мне придется использовать lua_gettop (L), lua_type () и т. Д.
Очень хотелось бы получить небольшой фрагмент о том, как начать писать такую функцию C / C ++, которую можно экспортировать в Lua и использовать способом, описанным выше.