Обработка нескольких массивов одновременно в ruby - PullRequest
1 голос
/ 22 апреля 2010

У меня есть массив: a = [[1,2], [3]] и b = [[2,3], [5]] мне нужно добавить соответствующие элементы в каждый массив одновременно, чтобы получить результат;

Результат = [[3,5], [8]].

Спасибо и ура!

1 Ответ

4 голосов
/ 22 апреля 2010
a=[[1,2],[3]]
b=[[2,3],[5]]

def my_add a1, a2
  a1.zip(a2).map{|s1, s2|
    s1.is_a?(Array) ? my_add(s1, s2) : s1 + s2
  }
end

p my_add a, b
#=>[[3, 5], [8]]

Но вы должны быть осторожны, чтобы всегда сопоставлять массив с массивом и целое число с целым числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...