ruby - clase - Acceder directamente a una variable de instancia vs. Usar un método de acceso
variables de instancia python (2)
"Acceder a la variable de instancia directamente es aproximadamente dos veces más rápido que acceder a ellos con métodos de acceso"
Echa un vistazo a: http://greyblake.com/blog/2012/09/02/ruby-perfomance-tricks/
¿Alguien puede explicar la diferencia entre acceder a un atributo de instancia a través de self.attribute
y por @attribute
?
self.attribute
llama al attribute
método.
self.attribute = value
llama al método attribute=
con el value
argumento.
@attribute
y @attribute = value
obtienen / establecen el valor de la variable de instancia @attribute
.
Entonces, básicamente, son dos cosas completamente diferentes.
Sin embargo, si llama a attr_accessor :attribute
, define el attribute
del método para devolver @attribute
y el método attribute=(value)
para establecer @attribute = value
. Entonces en ese caso, no hay diferencia.