1
resposta

Acrescentar valore em um array através do gets

Gostaria de saber como posso adicionar os valores obtidos do gets em uma array como no exemplo abaixo a cada fez que digito um novo número ele não é adicionado na próxima posição do array mas substitui o anterior

def test
numero = gets
numeros = []
numeros << numero

numeros.each do |numero|
puts "Número: #{numero}"
end

puts "Tamanho #{numeros.size}"
end

loop do test
end

gostaria que a cada novo número digitado ele fosse adicionado a esse array

1 resposta

Oi Bruno, na verdade, o que está acontecendo é que quando o seu test é executado, você sempre cria um array novo, então passa a impressão que está substituindo o número anterior, quando na verdade está sendo criado sempre um array novo e colocando um número só dentro.

Se você simplesmente mover a criação do seu array de números para fora do test, terá o resultado que deseja. Claro, que a criação do array seja antes da execução do test.