Why isn’t t:insert(9) working in Lua?
(I want to append a value of 9 to the end of the table)
t = {1,2,3}
table.insert(t, 9) -- works (appends 9 to end of table t)
t:insert(9) -- does NOT work
I thought in general
a.f(a,x) is equalivant to a:f(x) in Lua
While it’s true that
a:f(x)is simply syntactic sugar fora.f(a,x)that second syntax is not what you have there. Think it through backwards:The function call you tried is
t:insert(9)So the syntax rule you stated would be
t.insert(t, 9)But the working function call is
table.insert(t, 9)See how the last two aren’t the same? So the answer to your question is that insert() isn’t a function contained in
t, it’s in “table”.