【发布时间】:2026-01-22 15:35:01
【问题描述】:
我在alias 与alias_method 上找到了一篇博文。如该博客文章中给出的示例所示,我只想将一个方法别名为同一类中的另一个方法。我应该使用哪个?我总是看到alias 被使用,但有人告诉我alias_method 更好。
别名的使用
class User
def full_name
puts "Johnnie Walker"
end
alias name full_name
end
User.new.name #=>Johnnie Walker
别名方法的使用
class User
def full_name
puts "Johnnie Walker"
end
alias_method :name, :full_name
end
User.new.name #=>Johnnie Walker
【问题讨论】:
-
那篇文章没有回答你的问题吗?
-
@marcog:我已经读过了,但我不相信。在方法中定义别名,这不是我们应该经常做的事情。
-
@digitalextremist 链接有效
-
ruby 风格指南现在推荐
alias“在词法类范围内为方法别名时”和alias_method“在运行时为模块、类或单例类的方法别名时”github.com/bbatsov/ruby-style-guide#alias-method-lexically跨度>