【发布时间】:2012-03-31 23:25:11
【问题描述】:
简化版:
ar=['name: Joe', 'name: Jack', 'name: Jill']
hash={}
ar.each{|line| if line.include?('name'); hash['name'] = line;end;}
puts hash
我的目标是将数组中的所有元素添加到“名称”键,但我的代码似乎覆盖了现有值。
是否可以将多个值分配给一个键?我宁愿不使用数组作为值。
编辑:
我意识到我的第一个示例并没有涵盖整个问题:
将数组扩展为: ar=['name: Joe', 'name: Jack', 'name: Jill', age: 29', 'age: 32', 'misc: Great weather']
我希望将“名称”分组在“名称”键下,依此类推。
属性/键的数量事先是未知的,因此数组将动态生成。
【问题讨论】:
-
当您致电
hash[name]时,您期望得到什么结果?您希望返回某个特定名称,还是希望返回所有已添加的名称? -
我有点希望它们都作为单独的字符串。但似乎数组是要走的路。
-
对您的编辑,然后您应该创建新问题