instancia clase ruby instance-variables accessor

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.