2016-08-02 32 views
0

我需要在我的代碼中使用一個循環,以便提示用戶輸入「Name?」。三次,並且每個答案都作爲新的散列存儲在數據數組中。每個答案也應該有一個新的隨機數字和一個電子郵件。如何在一個數組中循環散列

我需要puts data輸出所有三個散列及其內容。我已經使用3.times do試過,但我有麻煩:

data = Array.new() 

puts "Name?, eg. Willow Rosenberg" 
name = gets.chomp 
number = rand(1000..9000) + 1 
    data = [ 
     { 
     name: name, 
     number: number, 
     email: name.split(' ').last + number.to_s[1..3] + "@btvs.com" 
     } 
    ] 

puts data 

回答

1
data = [] 

3.times do 
    puts "Name?, eg. Willow Rosenberg" 
    name = gets.chomp 
    number = rand(1000..9000) + 1 

    hash = { 
    name: name, 
    number: number, 
    email: name.split(' ').last + number.to_s[1..3] + "@btvs.com" 
    } 

    data << hash 
end 

puts data