Laço
A maneira mais simples e mais comum de adicionar elementos a uma matriz é usar um loop. Começamos definindo uma variável para armazenar a soma dos valores e inicializá -la para 0. Em seguida, iteramos sobre cada elemento da matriz e os adicionamos à variável soma.
Veja a matriz de exemplo mostrada abaixo:
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
Para adicionar todos os valores da matriz acima, comece definindo uma variável soma e inicializando -a para 0
soma = 0
Em seguida, crie um loop para iterar cada elemento e adicione -o à variável soma como:
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
soma = 0
para eu em idades
soma += eu
fim
coloca a soma
Depois de executar o código acima, você deve obter a soma de todos os elementos na matriz acima.
Cada método
Ruby tem um método padrão para iterar os itens em uma matriz. Ele aceita um bloco que podemos usar para calcular a soma de todos os elementos.
O método funciona de maneira semelhante a um loop para mostrado acima.
Por exemplo:
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
soma = 0
idades.cada um | i |
soma += eu
fim
coloca a soma
O valor resultante é a soma de todos os valores na matriz:
=> 291
Método da soma
Na versão mais recente do Ruby, você pode usar o método da soma para adicionar todos os elementos em uma matriz.
Por exemplo:
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
coloca idades.soma
Método de injeção
Ruby tem um método chamado injeção. Leva cada elemento em um enumerador e acumula -o sequencialmente.
Por exemplo:
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
coloca idades.injetar (:+)
O método de injeção pega o primeiro elemento na matriz e o trata como o valor da soma inicial. O método continua a iterar todos os elementos da matriz, adicionando cada um deles juntos.
Quando o método atinge o final da matriz, trata o valor final como a soma total da matriz.
Você também pode definir um valor padrão para o método de injeção. Veja o exemplo abaixo que define um valor padrão.
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
coloca idades.injeção (0) | sum, i | soma + i
Reduza o método
O método de redução é muito semelhante ao método de injeção-eles são como aliases. Em nosso exemplo, usaremos o método do mapa para retornar elementos individuais na matriz como números inteiros.
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
idades.mapa (&: to_i)
Depois de termos todos os elementos da matriz, podemos chamar o método de redução como:
Reduza (:+)
A sintaxe acima deve retornar a soma de todos os elementos na matriz.
idades = [10, 87, 34, 23, 54, 44, 23, 11, 5]
coloca idades.mapa (&: to_i).Reduza (:+)
Conclusão
Este guia ilustrou várias maneiras de adicionar todos os elementos em uma matriz.