【发布时间】:2019-10-24 15:43:58
【问题描述】:
所以我知道如何迭代并在哈希中创建数组
travel=["Round Trip Ticket Price:", "Price of Accommodation:", "Number of checked bags:"]
(1..3).each_with_object({}) do |trip, travels|
puts "Please input the following for trip # #{trip}"
travels["trip #{trip}"]= travel.map { |q| print q; gets.chomp.to_f }
end
==>{"trip 1"=>[100.0, 50.0, 1.0], "trip 2"=>[200.0, 100.0, 2.0], "trip 3"=>[300.0, 150.0,
3.0]}
但是我想迭代以在一个数组中创建三个单独的散列。 我希望它看起来像这样
travels=[{trip_transportation: 100.0, trip_accommodation:50.0, trip_bags:50}
{trip_transportation:200.0, trip_accommodation:100.0, trip_2_bags:100}
{trip_3_transportation:300.0, trip_accommodation:150.0, trip_3_bags:150}]
我真的很困惑,基本上我唯一想知道的就是如何在使用循环时生成三个单独的哈希值。 我希望每个哈希都代表一次旅行。 这可能吗?
【问题讨论】:
-
哈希非常通用,但对于静态结构,您可能需要创建
Travel或Trip类。