Ссылка на метод из другого класса в Ruby - PullRequest
1 голос
/ 28 февраля 2012

Я делаю это:

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

Это работает, но я хотел бы что-то более короткое, как:

links = prims(phrases, &Leven.wordLevenWithOps)

Каков правильный синтаксис?

1 Ответ

4 голосов
/ 28 февраля 2012

вы можете получить метод класса любого класса как

ClassName.method(:method_name) 

и вы можете передать его ссылку

для вашего случая (учитывая wordLevenWithOps как метод класса в Leven), будет работать следующее:

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

надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...