我想知道它是否可以在rails中执行多维数组?
我想得到类似于制定一些数据的内容:
apple => 'tasty', 'red', 'round'
cereal => 'milk', 'breakfast'
name => 'tags'
我正在尝试获取右侧为标签的名称 - 值对,因此当我调用该名称时,我可以获得标签。
编辑:
我目前有这个
@array = ['apple', 'cereal', 'name']
但是想为这些
添加标签@array = ['apple'=>['tasty', 'red', 'round'], 'cereal' => ['milk', 'breakfast'], 'name' => ['tags']]
我想做这样的事情,所以当我做一个循环只输出名字和相关的标签时。
答案 0 :(得分:1)
就像Dave Newton在问题评论中所说的那样,它被称为哈希,它适用于像key => value
这样的事情。 Hash可以使用Array作为值,Array可以使用Hashes作为值。
{apple: ['tasty', 'red', 'round'], cereal: ['milk', 'breakfast'], name: ['tags']}
答案 1 :(得分:0)
您想要的是Hash
,其元素是键值对。密钥应该是string
或symbol
;值可以是任何对象。
在特定情况下,apple
是关键,['tasty', 'red', 'round']
是值。
有关Ruby中Hash的更多信息,请查看此link。
答案 2 :(得分:0)
你听说过YAML吗?您可以将数据以YAML格式放入文件中,读入,并自动为您创建哈希和数组:
apple:
- tasty
- red
- round
cereal:
- milk
- breakfast
name: tags
然后在红宝石中: 要求'yaml'
file=YAML.load_file(filename)
file.each_pair do |key, value|
...etc