【文件属性】:
文件名称:hashdiff:Hashdiff是一个Ruby库,用于计算两个哈希之间的最小差异
文件大小:24KB
文件格式:ZIP
更新时间:2021-04-23 05:34:51
Ruby
哈什迪夫
Hashdiff是一个Ruby库,用于计算两个哈希之间的最小差异。
它还支持比较两个数组。
Hashdiff不会猴子修补任何现有的类。 所有功能都包含在Hashdiff模块内部。
Docs :
警告:请勿将库用于比较大型数组,例如〜10K(请参阅#49)。
为什么选择Hashdiff?
给定两个哈希A和B,有时您会遇到一个问题:将A更改为B可以进行的最小修改是什么?
响应此问题的算法必须执行以下操作:
生成添加,删除和更改的列表,以便A + ChangeSet = B和B - ChangeSet = A
递归计算-数组和哈希可以任意嵌套在A或B中。
计算最小的更改-它应该识别A和B之间的相似子散列或子数组。
Hashdiff使用一种有思想的方法回答了上面的问题:
哈希可以表示为(点语法路径,值)对的列表。 例如, {a:[{c:2}]}可以表示为["a[0]
【文件预览】:
hashdiff-master
----.travis.yml(118B)
----changelog.md(2KB)
----Rakefile(335B)
----.rubocop.yml(683B)
----.yardopts(13B)
----LICENSE(1KB)
----Gemfile(109B)
----.rspec(8B)
----spec()
--------hashdiff()
--------spec_helper.rb(272B)
----hashdiff.gemspec(1KB)
----.gitignore(370B)
----lib()
--------hashdiff.rb(266B)
--------hashdiff()
----README.md(9KB)