Salut à tous,
je débute en Lua sous Windows pour l'embarquer dans du C++ et j'ai des questions, si des bonnes âmes pouvaient m'aider :
1)
D'abord qu'elle est la différence entre luaxxx.exe et luacxxx.exe (xxx=numéro de version) ? Les deux semblent pouvoir lire depuis stdin ou un fichiers des instructions (je m'attendais à une console interactive et un interpréteur, à la ruby/irb).
2)
J'ai fait un programme de console en C++ pour Lua qu'il lise une chaîne, puis la met dans un buffer et finalement l'exécute, voici le noyau du truc:
Si je tape dans ma console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 lua_State * lua = lua_open(); luaL_openlibs(lua); std::string s; std::getline(cin, s); const char * buff = s.c_str(); int error_load = luaL_loadbuffer(lua, buff, sizeof(buff), "dbg1"); // Chargement int error_exec = lua_pcall(lua, 0, 0, 0); // Exécution
Pas de problème, a est bien stocké dans les variables globales de Lua avec la valeur 2. Mais comment stocker une chaîne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2a=2
En effet, le code suivant:
me donnent à chaque fois : "attempt to call a string value". Il ne comprend pas que les guillements sont les délimiteurs de chaîne ? Y'a un truc à la strip_quote à faire ? Pourtant en utilisant lua.exe tout se passe bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2a="pipo"
Merci d'avance.
Partager