【问题标题】:ruby difference engine红宝石差异引擎
【发布时间】:2011-04-18 15:38:19
【问题描述】:

正在寻找 Ruby 差分引擎。所以你可以做一些与meld viewer相同的事情。

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

  1. 字符串1
  2. 字符串2
  3. 字符串3

第二组:

  1. 字符串1
  2. 字符串3
  3. 字符串4

差异会显示第 2 行和第 3 行不同。

我已经在使用这个:http://github.com/pvande/differ,但它绝对不是完美的,但相当不错。我想补充一下,但是在进一步了解这个差异之前,我试图找到一些关于另一个知识的知识。

【问题讨论】:

标签: ruby diff gem


【解决方案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 中发生了显着变化。

【讨论】:

  • 感谢您的历史和理解,我现在将使用相同的 gem,但计划添加或创建更灵活的东西。
猜你喜欢
  • 1970-01-01
  • 2010-12-03
  • 2012-03-02
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
相关资源
最近更新 更多