From bd3fe0cac583739bc0d7c4b5c8f301bb350abca0 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:19:31 -0400 Subject: Renamed lib to deps so github will ignore it for language stats --- deps/sol2/examples/source/tie.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 deps/sol2/examples/source/tie.cpp (limited to 'deps/sol2/examples/source/tie.cpp') diff --git a/deps/sol2/examples/source/tie.cpp b/deps/sol2/examples/source/tie.cpp new file mode 100644 index 0000000..c61701b --- /dev/null +++ b/deps/sol2/examples/source/tie.cpp @@ -0,0 +1,39 @@ +#define SOL_ALL_SAFETIES_ON 1 +#include + +#include "assert.hpp" + +int main (int, char*[]) { + + const auto& code = R"( + bark_power = 11; + + function woof ( bark_energy ) + return (bark_energy * (bark_power / 4)) + end +)"; + + sol::state lua; + + lua.script(code); + + sol::function woof = lua["woof"]; + double numwoof = woof(20); + c_assert(numwoof == 55.0); + + lua.script( "function f () return 10, 11, 12 end" ); + + sol::function f = lua["f"]; + std::tuple abc = f(); + c_assert(std::get<0>(abc) == 10); + c_assert(std::get<1>(abc) == 11); + c_assert(std::get<2>(abc) == 12); + // or + int a, b, c; + sol::tie(a, b, c) = f(); + c_assert(a == 10); + c_assert(b == 11); + c_assert(c == 12); + + return 0; +} -- cgit v1.2.3