2019-05-22 07:17:31 +08:00
|
|
|
#define SOL_ALL_SAFETIES_ON 1
|
2019-07-04 23:16:03 +08:00
|
|
|
#include <sol/sol.hpp>
|
2018-11-10 06:36:27 +08:00
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
|
|
|
sol::state lua;
|
|
|
|
|
2021-03-06 14:03:23 +08:00
|
|
|
// open those basic lua libraries
|
2018-11-10 06:36:27 +08:00
|
|
|
// again, for print() and other basic utilities
|
|
|
|
lua.open_libraries(sol::lib::base);
|
|
|
|
|
|
|
|
// value in the global table
|
|
|
|
lua["bark"] = 50;
|
|
|
|
|
|
|
|
// a table being created in the global table
|
2021-03-06 14:03:23 +08:00
|
|
|
lua["some_table"] = lua.create_table_with("key0", 24, "key1", 25, lua["bark"], "the key is 50 and this string is its value!");
|
2018-11-10 06:36:27 +08:00
|
|
|
|
|
|
|
// Run a plain ol' string of lua code
|
2019-05-22 07:17:31 +08:00
|
|
|
// Note you can interact with things set through sol in C++ with lua!
|
2021-03-06 14:03:23 +08:00
|
|
|
// Using a "Raw String Literal" to have multi-line goodness:
|
2018-11-10 06:36:27 +08:00
|
|
|
// http://en.cppreference.com/w/cpp/language/string_literal
|
|
|
|
lua.script(R"(
|
|
|
|
|
|
|
|
print(some_table[50])
|
|
|
|
print(some_table["key0"])
|
|
|
|
print(some_table["key1"])
|
|
|
|
|
|
|
|
-- a lua comment: access a global in a lua script with the _G table
|
|
|
|
print(_G["bark"])
|
|
|
|
|
|
|
|
)");
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|