instance_variable_set / get vs attr_writer / reader - PullRequest
0 голосов
/ 23 февраля 2012

Есть ли ситуации, когда мне нужно выбирать между instance_varaible_set / instance_variable_get или attr_writer / attr_reader, чтобы получить доступ к переменной экземпляра объекта извне? Чем они отличаются по скорости и т. Д.?

У меня сложилось впечатление, что если вы хотите разрешить доступ к переменной экземпляра открытому методу для конечного пользователя, attr_writer / attr_reader следует использовать, чтобы упростить его, но если вы хотите использовать его в частном порядке, вы скорее использовал бы instance_varaible_set / instance_variable_get. Это понимание правильно?

1 Ответ

1 голос
/ 23 февраля 2012

Это правильно. Вы определяете attr_accessor / attr_reader / attr_writer внутри определения класса, чтобы сделать их доступными (неявно или явно созданными) к переменной экземпляра.

Если класс не был написан вами и таких методов доступа нет, вы все равно можете читать / записывать переменные частного экземпляра, используя instance_variable_get / instance_variable_set.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...