红宝石差异引擎

时间:2010-09-29 05:28:57

标签: ruby diff gem

寻找Ruby差异引擎。所以你可以做一些与观众一样的事情。

例如,每行有第一组代码:

  1. 字符串1
  2. 字符串2
  3. STRING3
  4. 第二集:

    1. 字符串1
    2. STRING3
    3. 串,4
    4. 差异会显示出第2行和第3行不同。

      我已经在使用这个:http://github.com/pvande/differ,但它绝对不是完美但非常好。我想补充一点,但是我想在另外一个方面找到一些知识,然后再继续这样做。

1 个答案:

答案 0 :(得分:1)

“标准”解决方案是Austin Ziegler的diff-lcs库,顾名思义,它实现了最长的公共子序列算法。更确切地说,McIlroy和Hunt的LCS算法。这个库是Mario I. Wolczko从1993年开始实现McIlroy-Hunt算法的Smalltalk以及Algorithm::Diff Perl库的端口。

不幸的是,自2004年以来一直没有发布。由于McIlroy-Hunt算法自1976年以来没有改变,因此没有那么糟糕,但Ruby中的String处理在Ruby中发生了重大变化1.9。