Je code suivantrubis question alias_method
class User
attr_accessor :name
end
u = User.new
u.name = 'john'
puts u.name #=> john
En tout cas ci-dessus fonctionne. Toutefois, ce code ne fonctionne pas
class User
attr_accessor :name
end
u = User.new
u.name = 'john'
u.name('john')
Afin de résoudre cette question, je l'ai décidé d'utiliser alias_method. Je sais qu'il existe d'autres façons de résoudre le problème, mais je cherche spécifiquement si ce problème pourrait être résolu en utilisant alias_method. Essayer d'apprendre.
code suivant fonctionnera
Cependant ce codeclass User
attr_accessor :name
alias_method :foo, :name=
end
u = User.new
u.foo('john')
puts u.name
ne fonctionnera pas pour des raisons évidentes. Tout le monde sait si ce problème peut être résolu avec alias_method.
class User
attr_accessor :name
alias_method :name, :name=
end
u = User.new
u.name('john')
puts u.name
N'est-ce pas le cas si insensé? def nom (valeur_set) @name = valeur_set sauf set_value.nil? fin – CodeJoust
La façon dont j'ai interprété la question, signifier que l'affiche cherchait un moyen d'obtenir et de définir avec la même méthode. Le si est nécessaire, mais la condition n'est pas parfaite. Comme il ne laissera pas nil ou false assigner à @name. – EmFi