【发布时间】:2009-12-01 21:56:32
【问题描述】:
有没有办法在 Ruby 中动态创建数组?例如,假设我想循环通过用户输入的书籍数组:
books = gets.chomp
用户输入:
"The Great Gatsby, Crime and Punishment, Dracula, Fahrenheit 451,
Pride and Prejudice, Sense and Sensibility, Slaughterhouse-Five,
The Adventures of Huckleberry Finn"
我把它变成一个数组:
books_array = books.split(", ")
现在,对于用户输入的每一本书,我想用 Ruby 创建一个数组。执行此操作的伪代码:
x = 0
books_array.count.times do
x += 1
puts "Please input weekly sales of #{books_array[x]} separated by a comma."
weekly_sales = gets.chomp.split(",")
end
显然这不起作用。它只会一遍又一遍地重新定义weekly_sales。有没有办法实现我所追求的,并在 .times 方法的每个循环中创建一个新数组?
【问题讨论】:
-
我认为你想要一个哈希,而不是一个数组。这样您就可以参考每本书(作为键)和书籍的每周销量作为价值。
-
是的,这似乎是答案中的共识。