Esses dias estava pesquisando sobre a classe Array em Ruby, e me deparei com um método bem bacana para fazer de maneira menos penosa o merge entre arrays e assim podermos fazer algumas operações com eles.
a = [45, 13, 90]
b = [30, 9, 180]
c = []
a.zip(b) { |x, y| c << (x < y) }
print c
=> [false, false, true]
Nesse bloco de código pergunto se cada elemento do array a é menor do que cada elemento do array b, e salvo a resposta(booleano) dentro do array c.
Podemos também, somar os elementos do array, confiram abaixo:
a = [45, 13, 90]
b = [30, 9, 180]
c = []
a.zip(b) { |x, y| c << (x + y) }
print c
=> [75, 22, 270]
Nesse outro bloco, o processo é o mesmo, no entanto, estamos somando.
Se precisarmos somente mesclar o elementos e inserir novos valores, é simples:
a = [14, 54, 60]
b = [23, 44, 12]
[20, 30, 40].zip(a, b)
print c
=> [[20, 14, 23], [30, 54, 44], [40, 60, 12]]
E é isso, achei interessante e resolvi compartilhar com a comunidade. ;)
Referências:
Ruby-Doc.org
Top comments (0)