J'ai trouvé un article de blog sur alias
vs. alias_method
. Comme le montre l'exemple donné dans cet article de blog, je veux simplement aliaser une méthode à une autre dans la même classe. Que dois-je utiliser ? Je vois toujours alias
utilisé, mais quelqu'un m'a dit alias_method
est meilleur.
Utilisation de l'alias
class User
def full_name
puts "Johnnie Walker"
end
alias name full_name
end
User.new.name #=>Johnnie Walker
Utilisation de l'alias_méthode
class User
def full_name
puts "Johnnie Walker"
end
alias_method :name, :full_name
end
User.new.name #=>Johnnie Walker
4 votes
Ce post ne répond-il pas à votre question ?
4 votes
@marcog : Je l'ai lu en entier, et je ne suis pas convaincu. Définir des alias à l'intérieur de méthodes, ce n'est pas quelque chose qu'on devrait faire souvent.
2 votes
Le lien @digitalextremist fonctionne.
4 votes
Le guide de style ruby recommande maintenant
alias
"lors de l'aliasing de méthodes dans la portée lexicale de la classe" etalias_method
"lors de l'aliasing de méthodes de modules, de classes ou de classes singleton au moment de l'exécution" github.com/bbatsov/ruby-style-guide#alias-method-lexically