我想知道是否有可能在rails中做多维数组?
我想要一些东西,比如制定一些数据:
apple => 'tasty', 'red', 'round'
cereal => 'milk', 'breakfast'
name => 'tags'
我试图获得名称-值对其中右边是标签所以当我调用名称时,我可以获得标签
编辑:我现在有这个
@array = ['apple', 'cereal', 'name']
但是想给这些
添加标签@array = ['apple'=>['tasty', 'red', 'round'], 'cereal' => ['milk', 'breakfast'], 'name' => ['tags']]
我想做这样的事情,所以当我执行循环只输出名称和相关标记时。
就像Dave Newton在上面的问题评论中所说的,它被称为哈希,它用于key => value
之类的东西。Hash's可以使用Array's作为值,Array's可以使用Hash作为值。
{apple: ['tasty', 'red', 'round'], cereal: ['milk', 'breakfast'], name: ['tags']}
您需要的是Hash
,它的元素是键值对。键应该是string
或symbol
,值可以是任何对象。
在本例中,apple
为键,['tasty', 'red', 'round']
为值
查看这个链接了解更多Ruby中的Hash。
你听说过YAML吗?您可以将数据以YAML格式放入文件中,读入后,它将自动为您创建散列和数组:
apple:
- tasty
- red
- round
cereal:
- milk
- breakfast
name: tags
然后在ruby中:需要"yaml"
file=YAML.load_file(filename)
file.each_pair do |key, value|
...etc