将长度为 x 的数组添加到键中的值:使用 Ruby 的值散列
Add an Array of length x to value in key : value hash using Ruby
这是一个散列
personal_details = {
name: name,
dob: dob,
age: age,
height: height
}
这是一个数组
puts "What are the name of some of your relatives? (eg. Bob, James, Harry etc)"
relatives = gets().chomp.split(",")
假设亲戚的输入是 "Bob, James, Harry"。
我希望散列看起来像这样:
personal_details = {
name: name,
dob: dob,
age: age,
height: height
relatives: [
{name: Bob},
{name: James},
{name: Harry}
]
}
散列中的数组根据用户输入进行更新。
首先将 relatives 初始化为数组:
personal_details = {
name: name,
dob: dob,
age: age,
height: height,
relatives: []
}
然后对于每个亲戚,推送到数组:
relatives = gets().chomp.split(",")
relatives.each do |relative|
personal_details.relatives.push(name: relative)
end
如果我按预期解释问题,这应该有效:
personal_details[:relatives] = relatives.map{|r| {name: r}}
这是一个散列
personal_details = {
name: name,
dob: dob,
age: age,
height: height
}
这是一个数组
puts "What are the name of some of your relatives? (eg. Bob, James, Harry etc)"
relatives = gets().chomp.split(",")
假设亲戚的输入是 "Bob, James, Harry"。
我希望散列看起来像这样:
personal_details = {
name: name,
dob: dob,
age: age,
height: height
relatives: [
{name: Bob},
{name: James},
{name: Harry}
]
}
散列中的数组根据用户输入进行更新。
首先将 relatives 初始化为数组:
personal_details = {
name: name,
dob: dob,
age: age,
height: height,
relatives: []
}
然后对于每个亲戚,推送到数组:
relatives = gets().chomp.split(",")
relatives.each do |relative|
personal_details.relatives.push(name: relative)
end
如果我按预期解释问题,这应该有效:
personal_details[:relatives] = relatives.map{|r| {name: r}}