Что такое алгоритм для различения двух строк таким же образом, что и SO на странице версий?

Я пытаюсь различить две строки по фразе, подобно тому, как StackOverflow отображает две строки на странице редактирования версии. Какой будет алгоритм для этого? Существуют ли гемы или другие стандартные библиотеки для этого?

РЕДАКТИРОВАТЬ: я видел другие алгоритмы сравнения (отличаться с Ruby), и они, кажется, приводят к следующему:

>> o = 'now is the time when all good men.'
>> p = 'now some time the men time when all good men.'
>> Differ.diff_by_word(o,p).format_as(:html)
=> "now <del class=\"differ\">some</del><ins class=\"differ\">is</ins> 
   <del class=\"differ\">time </del>the <del class=\"differ\">men </del>time
   when all good men."

Обратите внимание, как слова различаются по каждому слову? Я хотел бы, чтобы какой-то способ различий более по фразе, поэтому приведенный выше вывод кода:

=> "now <del class=\"differ\">some time the men</del><ins class=\"differ\">is
   the</ins> time when all good men."

Надеюсь ли я на слишком много?

Ответы на вопрос(1)

Ваш ответ на вопрос