gpt4 book ai didi

ruby - 如何将 YAML 解析为散列/对象?

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:31 25 4
gpt4 key购买 nike

我有一个 YAML 文件,其中包含一些如下所示的条目:

001:
:title: Some title
:description: Some body text maybe
002:
:title: Some title
:description: Some body text maybe

我正在使用以下 Ruby 方法将该 YAML 文件解析为一组我可以迭代的对象:

def parse_yaml(file)
YAML::load(File.open(File.join(settings.yaml_folder, file)))
end

def use_yaml
@items = parse_yaml('items.yml')
@items.each do |item|
x = item[1][:title]
etc...
end
end

现在,该方法有效,但我发现我需要使用 item[1][:title] 来访问我正在迭代的对象的属性,这很奇怪。如何构建我的 YAML 文件或解析代码以允许我使用更标准的 item[:title]

最佳答案

这是一个哈希。 parse_yaml 输出为:

{ 1=>
{ :title=>"Some title",
:description=>"Some body text maybe"},
2=> { :title=>"Some title",
:description=>"Some body text maybe" }
}

您可以使用 each_value像这样的方法:

#...
@items = parse_yaml('items.yml')
@items.each_value do |item|
x = item[:title]
# ... etc
end

推荐:YAML for Ruby

关于ruby - 如何将 YAML 解析为散列/对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16324567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com