То, что я пытаюсь сделать, это взять массив имен сервисов и применить к каждому ответу сервиса либо true, либо false.
В основном я получаю XML с набором логических значений для каждогоиз проверенных услуг.Таким образом, для этого примера все они вернулись как истина.
Я поместил их в массив, используя Nokogiri, например:
doc = Nokogiri::XML.parse(xml)
service_state = doc.css("HeartBeat Status").map(&:text)
В результате получается массив с 3 ["истинными"] элементами.
Мне нужно последовательно применить каждый из них с массивом, который есть в коде.
name = ['svc1', 'svc2', 'svc3']
Для этого я использовал следующий код:
status = [] ; service_state.each {|n| name.each {|l| status << [l,n]}}
status.each {|state| print state.to_s + "\n"}
Это делает то, что я хочу ... вроде ...
Я получаю вывод:
["svc1", "true"] ["svc2", "true"]["svc3", "true"]
Однако повторяются все возможные комбинации.При применении этого к фактическому массиву у меня есть в общей сложности 13 сервисов, которые имеют ответ 17 раз, поэтому я получаю массив с 221 элементом.
Вопрос: Как мне сделать то, что я делаю сейчас, но без повторения для каждого элемента в обоих массивах?
Спасибо!