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)
.