是否有Ruby函数对两组字符串执行XOR操作?

Man*_*u R 11 ruby arrays set

我有两个字符串数组,我想找到不在两者的交集中的字符串集.在MATLAB中相当于SETXOR就是我想要的:http: //www.mathworks.com/help/techdoc/ref/setxor.html

我正在使用与Array交替使用的术语集.

当然,我可以在形成这个问题的时间内轻松写出自己的内容,但我想我应该问一下.

Nak*_*lon 22

array1 + array2 - (array1 & array2)
Run Code Online (Sandbox Code Playgroud)

它比写一个问题更短...

顺便说一句,Ruby有一个类Set,所以最好不要将这个词用作Array的同义词.


ste*_*lag 10

是的,正如Nakilon所说,Set.

require 'set'
s = Set.new('a'..'f')
a = ['f','d','e','e','h','i'] #or any enum
p s ^ a  #=> #<Set: {"h", "i", "a", "b", "c"}>
Run Code Online (Sandbox Code Playgroud)

  • 集合是值的集合,没有重复。它具有快速插入、删除和成员资格测试的特点。至少最后一个对您的问题有用。 (2认同)