引用Ruby中另一个类的方法

时间:2012-02-27 22:06:30

标签: ruby lambda

我这样做:

distanceFunc = lambda do |a,b|
  Leven.wordLevenWithOps(a, b)
end
links = prims(phrases, &distanceFunc)

它有效,但我想更短的像:

links = prims(phrases, &Leven.wordLevenWithOps)

什么是正确的语法?

1 个答案:

答案 0 :(得分:4)

你可以获得任何类的类方法

ClassName.method(:method_name) 

您可以传递其参考资料

为你的情况(考虑wordLevenWithOps作为Leven中的类方法)以下工作;

links = prims(phrases, &Leven.method(:wordLevenWithOps))
希望这有帮助。