29 lines
764 B
C++
29 lines
764 B
C++
|
#define SOL_ALL_SAFETIES_ON 1
|
||
|
#include <sol/sol.hpp>
|
||
|
|
||
|
std::string my_function(int D_count, std::string original) {
|
||
|
// Create a string with the letter 'D' "D_count" times,
|
||
|
// append it to 'original'
|
||
|
return original + std::string(D_count, 'D');
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
|
||
|
sol::state lua;
|
||
|
|
||
|
lua["my_func"] = my_function; // way 1
|
||
|
lua.set("my_func", my_function); // way 2
|
||
|
lua.set_function("my_func", my_function); // way 3
|
||
|
|
||
|
// This function is now accessible as 'my_func' in
|
||
|
// lua scripts / code run on this state:
|
||
|
lua.script("some_str = my_func(1, 'Da')");
|
||
|
|
||
|
// Read out the global variable we stored in 'some_str' in
|
||
|
// the quick lua code we just executed
|
||
|
std::string some_str = lua["some_str"];
|
||
|
SOL_ASSERT(some_str == "DaD");
|
||
|
|
||
|
return 0;
|
||
|
}
|