рубиновый двигатель - PullRequest
       4

рубиновый двигатель

0 голосов
/ 29 сентября 2010

Ищу разностный движок Ruby. Таким образом, вы можете делать то же, что и Meld Viewer.

Например, у вас есть первый набор кода в строке:

  1. String1
  2. String2
  3. String3

2-й комплект:

  1. String1
  2. String3
  3. String4

Разница показала бы, что строки 2 и 3 отличаются.

Я уже использую это: http://github.com/pvande/differ, но это определенно не идеально, но довольно хорошо. Я хотел бы добавить к этому, однако я пытаюсь найти некоторые знания о другом, прежде чем идти дальше с этим различием.

1 Ответ

1 голос
/ 29 сентября 2010

«Стандартным» решением является библиотека diff-lcs Остина Циглера, которая & ndash; как следует из названия & ndash; реализует самый длинный алгоритм общей подпоследовательности. Точнее, алгоритм LCS Макилроя и Ханта. Эта библиотека является портом реализации Smalltalk Марио И. Волчко алгоритма Макилроя-Ханта с 1993 года, а также библиотеки Algorithm::Diff Perl.

К сожалению, с 2004 года не было релиза. Что не так уж и плохо, поскольку алгоритм McIlroy-Hunt не изменился с 1976 года, но обработка String в Ruby значительно изменилась в Ruby 1.9.

...