Ruby on Rails中的多维数组?

时间:2013-04-14 01:56:55

标签: ruby-on-rails ruby ruby-on-rails-3 multidimensional-array

我想知道它是否可以在rails中执行多维数组?

我想得到类似于制定一些数据的内容:

apple => 'tasty', 'red', 'round'
cereal => 'milk', 'breakfast'
name => 'tags'

我正在尝试获取右侧为标签的名称 - 值对,因此当我调用该名称时,我可以获得标签。

编辑:

我目前有这个

@array = ['apple', 'cereal', 'name']

但是想为这些

添加标签
@array = ['apple'=>['tasty', 'red', 'round'], 'cereal' => ['milk', 'breakfast'], 'name' => ['tags']]

我想做这样的事情,所以当我做一个循环只输出名字和相关的标签时。

3 个答案:

答案 0 :(得分:1)

就像Dave Newton在问题评论中所说的那样,它被称为哈希,它适用于像key => value这样的事情。 Hash可以使用Array作为值,Array可以使用Hashes作为值。

{apple: ['tasty', 'red', 'round'], cereal: ['milk', 'breakfast'], name: ['tags']}

答案 1 :(得分:0)

您想要的是Hash,其元素是键值对。密钥应该是stringsymbol;值可以是任何对象。

在特定情况下,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