From my knowledge,
obj:method(...)
is syntax sugar (a nicer way to write something else) for this code:
obj.method(obj, ...)
So then how do function calls such as math.random(min, max) not fail even if math isn't passed as first argument?
And when calling random as a method it fails with the error:
wrong number of arguments
If someone can explain to me how it works it would be appreciated.
