2010-06-24 20 views
0

J'ai du code C++ qui interagit avec du code Lua. Fondamentalement, je veux être en mesure d'obtenir des résultats (sous la forme d'un dictionnaire aka une collection d'éléments) à partir d'un message de requête, puis les pousser à Lua comme une table afin que je puisse accéder facilement à tous les résultats de Lua par en utilisant le dictionnaire.Comment écrire un dictionnaire C++ dans une table Lua?

En ce moment, je viens d'obtenir une valeur spécifique que je veux et envoie mais ce serait bien de les envoyer tous et ne pas avoir à en demander un spécifique.

Répondre

2

En supposant que vous êtes familier avec l'API Lua en général, voici le processus de base:

  1. Créer une nouvelle table sur la pile (lua_newtable)
  2. Pour chaque élément dans le dictionnaire
      Appuyez
    1. la valeur sur la pile
    2. Appui sur la touche sur la pile
    3. appel lua_settable
+0

OK, cela est logique. Pouvez-vous me donner un exemple de comment obtenir facilement les valeurs de la table dans le code LUA? –

+0

Commençons par le commencement: http://www.lua.org/about.html#name;) Que hors de propos, comment votre code est-il déclenché? Avez-vous une table existante dans Lua et vous appelez à C? – Cogwheel

+0

Wow, c'est drôle qu'ils disent explicitement de ne pas l'écrire ainsi. Je suppose que je pensais que c'était un acronyme jusqu'à ce que MrXexxed l'ait mentionné. –