Page 1 sur 1
en lua est-il possible de ?
Publié : 17 mars 2018, 17:31
par papoo
bonjour,
en lua est-il possible de transformer dynamiquement le contenu d'une variable en nom de variable dans une boucle?
je souhaite, dans une boucle for, concaténer la mention jsonValeur avec le nom d'un élément contenu dans un tableau pour alimenter une variable
si resultat_tableau = variable_a
je voudrais concaténer Jsonvaleur. et resultat_tableau pour faire
ma_nouvelle_variable = jsonValeur.variable_a
savez vous si cela est possible? je ne trouve rien, la mention Lua étant trop générique pour les moteurs de recherche
Re: en lua est-il possible de ?
Publié : 17 mars 2018, 17:54
par vil1driver
Salut,
pas certain de bien comprendre
je dirais
Re: en lua est-il possible de ?
Publié : 17 mars 2018, 20:04
par domcars0
En lua, je pense que c'est comme en C, impossible d'avoir des noms de variable 'dynamiques'.Il te faut trouver une autre manière de faire.
Re: en lua est-il possible de ?
Publié : 17 mars 2018, 20:22
par papoo
vil1driver a écrit :Salut,
pas certain de bien comprendre
je dirais
j'avais essayé sans succés
Re: en lua est-il possible de ?
Publié : 17 mars 2018, 21:09
par vil1driver
Tu aurais un exemple de contenu ?
Re: en lua est-il possible de ?
Publié : 17 mars 2018, 21:30
par papoo
j'ai trouvé le moyen de contourner le problème
j'arrive à générer le nom dynamiquement dans une boucle for avec
il faut par contre ne pas déclarer les variables en local
ça donne ça
Code : Tout sélectionner
local les_devices = {};
les_devices[#les_devices+1] = {device = "qtemois" , nom = "Consommation mois en cours"} -- 1er device
les_devices[#les_devices+1] = {device = "prixmois" , nom = "Coût mensuel"} -- 2éme device
les_devices[#les_devices+1] = {device = "tendance" , nom = "Tendance"} -- 3éme device
qtemois = jsonValeur.qtemois
prixmois = jsonValeur.prixmois
tendance = jsonValeur.tendance
for k,v in pairs(les_devices) do
local variable = tostring(_G[v.device])
print(variable)
end
si il y a mieux je suis preneur
Re: en lua est-il possible de ?
Publié : 23 mars 2018, 17:01
par landaisbenj
Montre un exemple a l’écris de avant et de après.
Genre si tu as une variable:
local variable = 'test'
print(variable) >test
que veux tu faire ?
print(jsonValeur..variable) >test
ou
print(variable) >jsonValeurtest
ou autre chose ?
jsonValeur c'est une chaine ou une variable ?
Re: en lua est-il possible de ?
Publié : 23 mars 2018, 21:07
par papoo
j'ai contourné le problème avec la solution au dessus pour ce script
https://easydomoticz.com/forum/viewtopi ... ets#p51452