¿Por qué usar attr_accessor, attr_reader y attr_writer de Ruby?

Ruby tiene esta forma práctica y conveniente de compartir variables de instancia mediante el uso de claves como

attr_accessor :var
attr_reader :var
attr_writer :var

¿Por qué elegiríaattr_reader oattr_writer si pudiera simplemente usarattr_accessor? ¿Hay algo como el rendimiento (que dudo)? Supongo que hay una razón, de lo contrario no habrían hecho tales llaves.

Respuestas a la pregunta(5)

Su respuesta a la pregunta