У меня есть два массива, содержащие строки. Я пытаюсь перебрать оба массива с помощью вложенных циклов .each do, чтобы увидеть, есть ли у каких-либо элементов в первом массиве подстрока любого из элементов во втором массиве. Я использую .include? во вложенных циклах, чтобы проверить это. Я хочу, чтобы результатом была строка, напечатанная количество раз, когда она соответствует элементу в партиалах.
Это метод, который не работает
def orphanCheck(partials, partials1, duplicatesArray)
partials1.each do |i|
partials.each do |j|
if i.include?(j)
duplicatesArray.push(i)
end
end
end
end
Я использую это как вспомогательный метод для определения частичных и частичных данных1
def manipulate(monthEmails, todayEmails, partials, partials1)
monthEmails.each do |i|
email = EmailAddress.new(i.to_s)
partials.push(email.host_name.to_s)
end
todayEmails.each do |j|
todaySignup = j.to_s.slice(11, 100)
partials1.push(todaySignup)
end
end
И затем я звоню этим двоим со следующими
manipulate(allUnique, todayEmails, partials, partials1)
orphanCheck(partials, partials1, duplicatesArray)
#puts duplicatesArray
duplicatesArray печатает некоторые строки, которые не должны совпадать, и печатает некоторые строки больше раз, чем я хочу. Например, gmail.com вообще не находится в частичном массиве, а [email protected], который находится в partials1 один раз, трижды помещается в duplicatesArray. Если yahoo.com находится в частичном виде три раза, то я бы хотел, чтобы [email protected] (из partials1), например, трижды был перенесен в duplicatesArray.