【发布时间】:2016-10-06 10:25:18
【问题描述】:
我有一个数组数组
arr = [
['category','subcat','detail'],['category1','subcat1','detail1']
]
我想用它做一个哈希{'category'=>'category','subcat'=>'subcat','detail'=>'detail'}...,other hashes from array
hash={}
我在做什么
arr.each{|el|
hash['category'] = el[0];
hash['subcat'] = el[1];
hash['detail'] = h[2];
}
但它只返回最后一个元素
hash=>{category:'category1',subcat:'subcat1',detail:'detail1'}
当我使用现有的哈希键时,它可以完美运行,但是当我尝试设置新键时 - 不起作用
如何解决?
【问题讨论】:
-
请修复您的示例代码,它不起作用。 (顺便说一句,
:category不等于"category") -
arr中是否总是正好有两个子数组? -
@Jordan,可能有很多数组
-
请编辑您的问题以包含“大量数组”的示例和预期输出。
-
问题是你不断用后面的数组覆盖散列的键。哈希只有唯一的键。 documentation 对此很清楚:
A Hash is a dictionary-like collection of unique keys and their values.
标签: ruby-on-rails arrays ruby hash