Я не совсем понимаю ваше возражение против ответа Марка. Но, возможно, поможет использование метода 'filter'?
array_1 = [1, 2, 3, 4]
array_2 = [3, 4, 5, 6]
Чтобы вернуть элементы FOUND в обоих массивах:
array_1.filter {|item| array_2.include?(item)}
=> [3, 4]
Чтобы вернуть элементы NOT FOUND в обоих массивах:
array_1.filter {|item| !array_2.include?(item)}
=> [1, 2]
Я не уверен, если это необходимо, но в Ruby есть изящный маленький метод split, который, в общем, разбивает строку на элементы в массиве. Может ли помочь?
text = 'hello there i am a boring string of text'
Чтобы вернуть массив слов:
text.split(' ')
=> ["hello", "there", "i", "am", "a", "boring", "string", "of", "text"]
Удачи!