gpt4 book ai didi

ruby-on-rails - Rails - 显示两个哈希之间的差异

转载 作者:行者123 更新时间:2023-12-03 16:00:55 24 4
gpt4 key购买 nike

我是 rails 的新手。所以如果问题很简单,请原谅。
我有两个哈希 hash1 和 hash2。两者具有相同的 key 。我需要并排显示两个散列,并以不同颜色突出显示散列之间的差异。

最佳答案

Rails 有 Hash#diff:

http://apidock.com/rails/Hash/diff

{1 => 2}.diff(1 => 2)         # => {}
{1 => 2}.diff(1 => 3) # => {1 => 2}
{}.diff(1 => 2) # => {1 => 2}
{1 => 2, 3 => 4}.diff(1 => 2) # => {3 => 4}

编辑:
但是,这在 Rails 4.1 中被删除了。
要在更现代的项目中获得相同的结果,您可以使用此方法,该方法源自上述方法。
def hash_diff(first, second)
first.
dup.
delete_if { |k, v| second[k] == v }.
merge!(second.dup.delete_if { |k, v| first.has_key?(k) })
end

hash_diff({1 => 2}, {1 => 2}) # => {}
hash_diff({1 => 2}, {1 => 3}) # => {1 => 2}
hash_diff({}, {1 => 2}) # => {1 => 2}
hash_diff({1 => 2, 3 => 4}, {1 => 2}) # => {3 => 4}

关于ruby-on-rails - Rails - 显示两个哈希之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com