2012-02-27 2 views
1

内の別のクラスのメソッド私はこれをやっている:それは作品参考ルビー

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

を私はのような短い何かしたいと思います:

links = prims(phrases, &Leven.wordLevenWithOps) 

右の構文は何ですか?

答えて

4

あなたは

ClassName.method(:method_name) 

として任意のクラスのクラスメソッドを取得することができますし、仕事と、次の(リーベンでクラスメソッドとしてwordLevenWithOpsを考慮して)あなたのケースのためにその参照

を渡すことができます。

links = prims(phrases, &Leven.method(:wordLevenWithOps)) 

このヘルプを参考にしてください。