2016-05-18 9 views
0

ich die __toString Meta-Methode für eine Tabelle zu überschreiben wollen
Also habe ich den folgenden Code verwendenLua concate alle Tabellenwerte

st="" 
for key, value in pairs(tbl) 
    do 
     st=st.." "..key.." = "..value.."\n" --error here 
    end 

aber das gibt mir attempt to concatenate local 'value' Fehler, kann mir jemand sagen, warum?

+3

Was ist 'tbl'? Stellen Sie [ein minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) bereit. –

Antwort

0

Sie können nur Zeichenketten oder Zahlen verketten (die Lua in einen String konvertiert).

Sie haben offensichtlich ein Element in der Tabelle, der weder ein String noch eine Zahl ist. Daher meldet der Concat-Operator .. einen Fehler.

https://www.lua.org/manual/5.3/manual.html#3.4.6