gpt4 book ai didi

arrays - ruby 数组 : opposite of `&` for an array

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:28 27 4
gpt4 key购买 nike

在 ruby​​ 中,您可以使用 & 运算符将两个数组相交。
我正在尝试获取交叉路口的其余部分。

如果我使用一个简单的案例 - 就足够了:

array_1 = [0, 1]
array_2 = [0]
array_1 - array_2 => [1]

现在假设我们有 0 在第一个数组中出现多次

array_1 = [0, 0, 1]
array_2 = [0]
array_1 - array_2 => [1]

我想知道最简单的方法来获取第一个数组和第一个数组与第二个数组的交集之间的差异

array_1 = [0, 0, 1]
array_2 = [0]
array_1 ??? array_2 => [0, 1]

最佳答案

我有proposed我认为您想要添加到 Ruby 核心的方法。请参阅链接以获取其使用示例。

class Array
def difference(other)
h = other.each_with_object(Hash.new(0)) { |e,h| h[e] += 1 }
reject { |e| h[e] > 0 && h[e] -= 1 }
end
end

a = [1,2,3,4,3,2,2,4]
b = [2,3,4,4,4]

a.difference b
#=> [1, 3, 2, 2]

关于arrays - ruby 数组 : opposite of `&` for an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50424389/

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