Difference between . and : in Lua

I am confused about the difference between function calls via . and via :

> x = {foo = function(a,b) return a end, bar = function(a,b) return b end, }
> return x.foo(3,4)
3
> return x.bar(3,4)
4
> return x:foo(3,4)
table: 0x10a120
> return x:bar(3,4)
3

What is the : doing ?

3 Answers
3

Leave a Comment