我发现了一篇博客文章alias
vs. alias_method
。如该博客文章中给出的示例所示,我只想将一个方法别名为同一类中的另一个方法。我应该使用哪个?我总是看到alias
用过,但是有人告诉我alias_method
更好。
别名的使用
class User
def full_name
puts "Johnnie Walker"
end
alias name full_name
end
User.new.name #=>Johnnie Walker
alias_method 的用法
class User
def full_name
puts "Johnnie Walker"
end
alias_method :name, :full_name
end
User.new.name #=>Johnnie Walker
博客文章链接在这里 http://blog.bigbinary.com/2012/01/08/alias-vs-alias-method.html
alias_method
如果需要可以重新定义。 (它定义在Module
class.)
alias
的行为根据其范围而变化,有时可能非常不可预测。
结论:使用alias_method
- 它为您提供了更多的灵活性。
Usage:
def foo
"foo"
end
alias_method :baz, :foo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)