ruby - 两个列表中公共(public)值的方法

标签 ruby intersection

当我有 2 个数组(列表)并且我想获得一个仅包含两个数组的公共(public)值的数组(列表)时,Ruby 是否有一种方法可供我使用?像这样..

a = [1,2,3]
b = [3,4,5]
=> the method would return [3]

反过来,那些数组(列表)中“唯一”的值。

a = [1,2,3]
b = [3,4,5]
=> the method would return [1,2,4,5]

最佳答案

AND : a & b

Ruby 中没有对数组进行异或的方法,所以你可以通过其他方法来实现。这里有两种方式:

XOR : (a | b) - (a & b)
XOR : (a + b) - (a & b) # this result can have duplicates!

XOR : (a - b) | (b - a)
XOR : (a - b) + (b - a) # this result can have duplicates!

关于ruby - 两个列表中公共(public)值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660061/

相关文章:

algorithm - 将多个交集重构为相交并集组

Ruby——国际化域名

python - Python 列表中的交集

java - Java 中的 Ruby 解析器

ruby - rails 3.1 - 用于 ajax 上传的 jquery 插件

mysql - 减号、并号和交号

Python 将多个列表与交集合并

java - Slick2D 矩形碰撞检测

ruby - 使用 Rack::Session::Datamapper

ruby - `map!' : private method called for String (NoMethodError)