Czy ktoś może wyjaśnić różnicę między dostępem do atrybutu instancji za pośrednictwem self.attribute
i przez @attribute
?
ruby
instance-variables
accessor
pistacchio
źródło
źródło
self.
(chyba że piszesz metodę pobierającą / ustawiającą), nawet jeśli obecnie maszattr_accessor
. Chroni to Cię przed dodatkową pracą nad refaktoryzacją i błędami, jeśli później zmienisz metody dostępu, aby zrobić coś więcej niż tylko pobranie / ustawienie zmiennej instancji. (Lub jeśli ktoś inny łata lub podklasa twoją pracę.)„Bezpośredni dostęp do zmiennych instancji jest około dwa razy szybszy niż uzyskiwanie do nich dostępu za pomocą metod dostępu”
Sprawdź: https://www.greyblake.com/blog/2012-09-01-ruby-perfomance-tricks/
źródło