Je montre en détail le soucis que j'ai eu avec lua, voir si quelqu'un a une autre idée meilleure:
Exemple 1
table={
{1,1,1,1,1},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{1,1,1,1,1}
}
currenttable={}
function _init()
currenttable=table
currenttable[1][1]=3
-- je copie la table dans current table et je change le tout premier element de la premiere ligne
end
function _draw()
cls()
print(table[1][1]) --> retourne 3
print(currenttable[1][1]) --> retourne 3
end
ça me retourne 3, 3 et mois je ne veux pas modifier les valeurs sources de table je veux donc 1,3
Pour l'instant j'ai trouvé que ça:
table={
{1,1,1,1,1},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{1,1,1,1,1}
}
newtable={}
newtable={
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0},
{0,0,0,0,0}
}
function chgtable(ptable)
-- la fonction va copier un à un les valeurs de table dans new table
for i=1,#ptable do
for j=1,#ptable[i] do
newtable[j][i]=ptable[j][i]
end
end
return newtable
end
function _init()
newtable=chgtable(table)
newtable[1][1]=3
end
function _draw()
cls()
print(table[1][1])--> retourne 1
print(newtable[1][1])--> retourne 3
end
Voila, j'ai cherché et visiblement lua ne permet pas la copy des tables de base genre copy(table)...