h1-mod/deps/sol2/examples/source/tutorials/reading_functions.cpp

30 lines
495 B
C++
Raw Normal View History

2024-03-07 00:54:15 -05:00
#define SOL_ALL_SAFETIES_ON 1
#include <sol/sol.hpp>
int main() {
sol::state lua;
lua.script(R"(
function f (a)
return a + 5
end
)");
// Get and immediately call
int x = lua["f"](30);
SOL_ASSERT(x == 35);
// Store it into a variable first, then call
sol::unsafe_function f = lua["f"];
int y = f(20);
SOL_ASSERT(y == 25);
// Store it into a variable first, then call
sol::protected_function safe_f = lua["f"];
int z = safe_f(45);
SOL_ASSERT(z == 50);
return 0;
}