2 つのスキームをお勧めします。最初のスキームでは、すべての製品をまとめてグループ化します。
products:
- name: Apple
type: Fruit
- name: Grape
type: Fruit
- name: Tomato
type: Vegetable
- name: Brocoli
type: Vegetable
他のスキームは、製品の各タイプのグループで使用されます
fruits:
- name: Apple
- name: Grape
vegetable:
- name: Tomato
- name: Brocoli
これを実際に表示するには、次のような yaml データをロードするだけです (これが変更されていたらすみません... yaml を使用してからしばらく経ちます)。
require 'yaml'
data = YAML.load_file('data.yml')
data は基本的に単なる ruby ハッシュであるため、それをトラバースすることで好きなものを表示できます。
編集:
2番目のオプションが必要な場合。次のことを試してください。
require 'yaml'
data = YAML.load_file('data.yml')
data.each do |category, products|
puts "#{category}"
products.each do |product|
puts "\t#{products}"
end
end
出力は次のようになります。
fruits
Apple
Grape
vegetable
Tomato
Brocoli
html を出力する場合は、次のように変更します。
require 'yaml'
data = YAML.load_file('data.yml')
data.each do |category, products|
puts "#{category}"
puts "<ul>"
products.each do |product|
puts "<li>#{products}</li>"
end
puts "</ul>"
end
html フォーマットを追加するための違いは非常に単純であり、必要に応じてこれをさらに変更できるはずです。