From 377472a6dd2c9bdff4d5667f5789c49aee2abb4c Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 7 Oct 2016 14:43:09 +0200 Subject: Added sol2 header only library as future replacement for luabridge (nw) --- 3rdparty/sol2/examples/self_call.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 3rdparty/sol2/examples/self_call.cpp (limited to '3rdparty/sol2/examples/self_call.cpp') diff --git a/3rdparty/sol2/examples/self_call.cpp b/3rdparty/sol2/examples/self_call.cpp new file mode 100644 index 00000000000..c64ded34133 --- /dev/null +++ b/3rdparty/sol2/examples/self_call.cpp @@ -0,0 +1,35 @@ +#define SOL_CHECK_ARGUMENTS +#include +#include +#include + +int main() { + std::cout << "=== self_call example ===" << std::endl; + + sol::state lua; + + lua.open_libraries(sol::lib::base, sol::lib::package, sol::lib::table); + + // a small script using 'self' syntax + lua.script(R"( + some_table = { some_val = 100 } + + function some_table:add_to_some_val(value) + self.some_val = self.some_val + value + end + + function print_some_val() + print("some_table.some_val = " .. some_table.some_val) + end + )"); + + // do some printing + lua["print_some_val"](); + // 100 + + sol::table self = lua["some_table"]; + self["add_to_some_val"](self, 10); + lua["print_some_val"](); + + std::cout << std::endl; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2