【问题标题】:Get difference of arrays in Ruby [duplicate]在Ruby中获取数组的差异[重复]
【发布时间】:2011-08-21 16:17:48
【问题描述】:

可能重复:
diff a ruby string or array

我有一个旧数组:[1, 2, 3, 4, 5],还有一个新数组:[1, 2, 4, 6]

如何与 Ruby 取得区别:删除了 5, 3 并添加了 6

【问题讨论】:

    标签: arrays ruby


    【解决方案1】:
    irb(main):001:0> a = [1, 2, 3, 4, 5]
    => [1, 2, 3, 4, 5]
    irb(main):002:0> b = [1, 2, 4, 6]
    => [1, 2, 4, 6]
    irb(main):003:0> a - b
    => [3, 5]
    irb(main):005:0> b - a
    => [6]
    irb(main):006:0>
    

    【讨论】:

    • 如果有Array#diff 或类似的东西不是很好吗?
    • 如果你想要双向差异a - b | b - a
    • 请注意,它只适用于唯一值,如果 a = [1,1, 2, 3, 4, 5] 你仍然得到相同的 [3,5] 与正确的 [1, 3,5]
    • @s1mpl3 :非常有名,[ 1, 1 ] - [ 1] => [] ;它看起来并不是对数组差异的精确定义;但是你如何给它一个正确的定义呢?什么叫“正确”?
    • 在 ruby​​ 2.6 我们有#difference方法ruby-doc.org/core-2.6/Array.html#method-i-difference
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 2015-03-26
    • 2020-08-13
    • 2017-01-12
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多