@angelica.glover
Переменная @name
возвращает nil
потому, что в методе initialize
вы не присваиваете значение аргумента name
переменной экземпляра @name
. Вместо этого вы присваиваете значение параметра name
локальной переменной name
, которая не имеет никакого отношения к переменной экземпляра.
Чтобы исправить это, вы должны присвоить значение аргумента переменной экземпляра @name
:
1 2 3 4 5 6 7 8 9 |
class Person def initialize(name) @name = name end def name @name end end |
Теперь, когда вы создадите новый объект класса Person
с именем, например, Person.new("Alex")
, метод name
будет возвращать строку "Alex"
, потому что вы правильно инициализировали переменную экземпляра @name
в конструкторе.