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) 

같은 클래스의 클래스 메소드를 얻을 수 있으며 작동합니다 다음 (LEVEN에서 클래스 메서드와 wordLevenWithOps을 고려) 귀하의 경우에 해당 참조

를 전달할 수 있습니다;

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

희망이 도움이됩니다.