如何获得方法的别名?
How can I obtain the aliases of of a method?
给定一个module/class和定义在其上的实例方法的名称,如何获取该方法的所有别名?
不确定是否考虑迭代所有实例方法"brute force",但这可行:
class Foo
def bar
end
alias bar2 bar
alias_method :bar3, :bar
end
Foo.instance_methods.select do |m|
Foo.instance_method(m) == Foo.instance_method(:bar)
end
#=> [:bar, :bar2, :bar3]
给定一个module/class和定义在其上的实例方法的名称,如何获取该方法的所有别名?
不确定是否考虑迭代所有实例方法"brute force",但这可行:
class Foo
def bar
end
alias bar2 bar
alias_method :bar3, :bar
end
Foo.instance_methods.select do |m|
Foo.instance_method(m) == Foo.instance_method(:bar)
end
#=> [:bar, :bar2, :bar3]