В качестве новичка я не совсем очутился вокруг self
, поэтому у меня возникли проблемы с пониманием того, как инициализируются self.blogs
, а затем blogs
, а затем self.blogs
на следующей строке после в методе add_blog
, все вместе работают в приведенном ниже коде.Понимание доступа, присвоенного в инициализации в Ruby
Почему blogs
в методе add_blog
доступа к той же переменной, что и self.blogs
в инактивировать? А потом почему self.blogs
используется для сортировки массива blogs
?
Также, было бы важно, если бы я использовал @blogs
в инициализации вместо self.blogs
?
class User
attr_accessor :username, :blogs
def initialize(username)
self.username = username
self.blogs = []
end
def add_blog(date, text)
added_blog = Blog.new(date, self, text)
blogs << added_blog
self.blogs = blogs.sort_by { |blog| blog.date }.reverse
added_blog
end
end
Большое спасибо !! – loopylou