diff --git a/examples/tables.cpp b/examples/tables.cpp new file mode 100644 index 00000000..17c9e117 --- /dev/null +++ b/examples/tables.cpp @@ -0,0 +1,36 @@ +#include +#include +#include + +/// this example shows how to read data in from a lua table +using namespace std; + +//compiles on linux with: g++ -std=c++11 -I.. table.cpp -o tables -llua + +int main(int argc, char * argv[]) +{ + sol::state lua; + //table used as an array + lua.script("table1 = {\"hello\", \"table\"}"); + //table with a nested table and the key value syntax + lua.script("table2 = {[\"nestedTable\"]={[\"key1\"]=\"value1\", [\"key2\"]=\"value2\"}," + " [\"name\"]=\"table2\"}"); + + + //using the values stored in table1 + cout << lua.get("table1").get(1)<< " " << + lua.get("table1").get(2) << endl; + + auto t2 = lua.get("table2"); + auto nestedTable = t2.get("nestedTable"); + //some retrival of values from the nested table + //the cleaner way of doing things + cout << "nested table: key1 : " << nestedTable.get("key1") << ", key2: " + //yes you can chain the get<>() results + << lua.get("table2").get("nestedTable").get("key2") + << endl; + + cout << "name of t2: " << t2.get("name") << endl; + + return 0; +} \ No newline at end of file