我正在学习RubyonRails,我来自PHP的背景
我有一个看起来像这样的数组
TYPES = [
'Casual' => 'casual',
'Full-Time' => 'full_time',
'Part-Time' => 'part_time',
]
我想获得索引Casual
的值,这就是我要做的事情
work_type = TYPES.first['Casual']
虽然它完美无缺,我能够获得价值,但我想知道这是否是正确的方法,如果我应该使用map
答案 0 :(得分:3)
不,这不是正确的方法,不,你不应该使用地图。相反,你应该忘记PHP称之为“关联数组”的可怕憎恶。
Ruby有适当的词典/哈希映射,你想在这里使用它们:
TYPES = {
'Casual' => 'casual',
'Full-Time' => 'full_time',
'Part-Time' => 'part_time',
}
TYPES['Casual'] # => 'casual'
答案 1 :(得分:1)
这实际上是Array
Hash
TYPES = [{
'Casual' => 'casual',
'Full-Time' => 'full_time',
'Part-Time' => 'part_time',
}]
是的,如果first
Array
但如果您有两个以上Hash
,并且想要收集Casual
的所有值,请使用map
work_types = TYPES.map { |type| type['Casual'] }
#=> ["casual", "something else"]
修改强>
如果您确实有一个哈希值,那么我建议您使用@ sergio'答案