У меня следующий код
class User
attr_accessor :name
end
u = User.new
u.name = 'john'
puts u.name #=> john
В приведенном выше случае все работает. Однако этот код не работает
class User
attr_accessor :name
end
u = User.new
u.name = 'john'
u.name('john')
Чтобы исправить эту проблему, я решил использовать alias_method. Я знаю, что есть и другие способы решения проблемы, но я специально ищу, можно ли решить эту проблему с помощью alias_method Пытаюсь учиться.
Следующий код будет работать
class User
attr_accessor :name
alias_method :foo, :name=
end
u = User.new
u.foo('john')
puts u.name
Однако этот код не будет работать по понятной причине.
class User
attr_accessor :name
alias_method :name, :name=
end
u = User.new
u.name('john')
puts u.name
Любой знает, можно ли решить эту проблему с помощью alias_method.