h1-mod/deps/sol2/examples/source/tutorials/reading_functions.cpp
2024-03-07 00:54:32 -05:00

30 lines
495 B
C++

#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;
}