在YAML

时间:2018-12-12 01:13:13

标签: ruby hash

在以下yaml文件中,我如何使用某种循环读取第一个Sweet_fruits下的所有项,然后读取第二个Sweet_fruits下的项?

Fruits:
  Sweet_fruits:
   apple: 1
   banana: 4
   pineapple: 10
  Sweet_fruits:
   apple: 3
   banana: 5
   mango: 6

2 个答案:

答案 0 :(得分:3)

根据YAML spec,您的YAML是非法的(“映射节点的内容是一组无序的键:值节点对,每个键的限制是唯一 。”)您可以这样做:

Fruits:
  - Sweet_fruits:
     apple: 1
     banana: 4
     pineapple: 10
  - Sweet_fruits:
     apple: 3
     banana: 5
     mango: 6

并遍历Fruits下的数组。

答案 1 :(得分:-1)

这是您获取数组中所有Sweet_fruits个项目的方式。首先,您将items_array声明为空数组变量,然后在Sweet_fruits上进行迭代。

items_array = []
 Fruits['Sweet_fruits'].each do |items|
   items_array << items
 end