function - significa - seo imagenes wordpress
Diferencia entre.y: en Lua (2)
Estoy confundido acerca de la diferencia entre las llamadas a funciones a través de . y vía :
> 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
¿Qué es el : hacer?
El colon es para implementar métodos que se pasan a self como el primer parámetro. Entonces x:bar(3,4) debe ser lo mismo que x.bar(x,3,4) .
Por definición, es exactamente lo mismo que especificarse manualmente: incluso producirá el mismo código de bytes en la compilación. Es decir function object:method(arg1, arg2) es igual que la function object.method(self, arg1, arg2) .
En uso : es casi lo mismo que . - Se utilizará un tipo especial de llamada internamente para garantizar que el object y los posibles efectos secundarios de los cálculos / acceso se calculan solo una vez. object:method(arg1, arg2) llamante object:method(arg1, arg2) es lo mismo que object.method(object, arg1, arg2) .