mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
Improve formatting of table example
This commit is contained in:
parent
c83d1941db
commit
f6fb0fd7f0
|
@ -2,35 +2,35 @@
|
|||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
/// this example shows how to read data in from a lua table
|
||||
using namespace std;
|
||||
// this example shows how to read data in from a lua table
|
||||
|
||||
//compiles on linux with: g++ -std=c++11 -I.. table.cpp -o tables -llua
|
||||
int main() {
|
||||
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\""
|
||||
"}");
|
||||
|
||||
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<sol::table>("table1").get<string>(1)<< " " <<
|
||||
lua.get<sol::table>("table1").get<string>(2) << endl;
|
||||
|
||||
auto t2 = lua.get<sol::table>("table2");
|
||||
auto nestedTable = t2.get<sol::table>("nestedTable");
|
||||
//some retrival of values from the nested table
|
||||
//the cleaner way of doing things
|
||||
cout << "nested table: key1 : " << nestedTable.get<string>("key1") << ", key2: "
|
||||
//yes you can chain the get<>() results
|
||||
<< lua.get<sol::table>("table2").get<sol::table>("nestedTable").get<string>("key2")
|
||||
<< endl;
|
||||
|
||||
cout << "name of t2: " << t2.get<string>("name") << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// using the values stored in table1
|
||||
std::cout << lua.get<sol::table>("table1").get<std::string>(1) << " "
|
||||
<< lua.get<sol::table>("table1").get<std::string>(2) << '\n';
|
||||
|
||||
auto t2 = lua.get<sol::table>("table2");
|
||||
auto nestedTable = t2.get<sol::table>("nestedTable");
|
||||
|
||||
// some retrieval of values from the nested table
|
||||
// the cleaner way of doing things
|
||||
std::cout << "nested table: key1 : " << nestedTable.get<std::string>("key1") << ", key2: "
|
||||
// yes you can chain the get<>() results
|
||||
<< lua.get<sol::table>("table2").get<sol::table>("nestedTable").get<std::string>("key2")
|
||||
<< '\n';
|
||||
|
||||
std::cout << "name of t2: " << t2.get<std::string>("name") << '\n';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user