2017-11-10 06:41:46 +08:00
|
|
|
#define SOL_CHECK_ARGUMENTS 1
|
|
|
|
#include <sol.hpp>
|
|
|
|
|
2018-02-08 13:40:34 +08:00
|
|
|
#include "assert.hpp"
|
2017-11-10 06:41:46 +08:00
|
|
|
|
|
|
|
int main(int, char* []) {
|
|
|
|
sol::state lua;
|
|
|
|
lua.open_libraries(sol::lib::base);
|
|
|
|
|
|
|
|
lua["abc_sol2"] = lua.create_table_with(
|
2018-01-20 04:03:22 +08:00
|
|
|
0, 24
|
|
|
|
);
|
2017-11-10 06:41:46 +08:00
|
|
|
|
2018-01-20 04:03:22 +08:00
|
|
|
sol::table inner_table = lua.create_table_with("bark", 50,
|
|
|
|
// can reference other existing stuff too
|
|
|
|
"woof", lua["abc_sol2"]
|
|
|
|
);
|
2017-11-10 06:41:46 +08:00
|
|
|
lua.create_named_table("def_sol2",
|
2018-01-20 04:03:22 +08:00
|
|
|
"ghi", inner_table
|
|
|
|
);
|
2017-11-10 06:41:46 +08:00
|
|
|
|
|
|
|
std::string code = R"(
|
|
|
|
abc = { [0] = 24 }
|
|
|
|
def = {
|
|
|
|
ghi = {
|
|
|
|
bark = 50,
|
|
|
|
woof = abc
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)";
|
|
|
|
|
|
|
|
lua.script(code);
|
|
|
|
lua.script(R"(
|
|
|
|
assert(abc_sol2[0] == abc[0])
|
|
|
|
assert(def_sol2.ghi.bark == def.ghi.bark)
|
|
|
|
)");
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|