ruby差异引擎

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

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

  1. String1中
  2. 字符串2
  3. STRING3

第2集:

  1. String1中
  2. STRING3
  3. 串,4

差异将表明第2和第3行是不同的。

我已经在使用这个: http : //github.com/pvande/differ ,但它绝对不是完美但非常好。 我想补充一点,但是我想在另外一个之前找到一些关于另一个的知识。

“标准”解决方案是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中发生了显着变化。