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