#include <sol.hpp>
#include <string>
#include <iostream>

// this example shows how to read data in from a lua table

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\""
                "}");


    // 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';
}

#include <sol.hpp>
#include <string>
#include <iostream>

/// 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<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;
}
--- 
+++ 
@@ -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';
 }
Improve formatting of table example
