gpt4 book ai didi

ruby - 为什么我在将 YAML 数据转换回工作对象时出现 Psych::SyntaxError

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

Ruby 版本:ruby 2.0.0p576(2014-09-19 修订版 47628)[x86_64-darwin13.4.0]我正在阅读“beginning ruby​​”一书,但在将 YAML 数据转换回工作对象时遇到了困难。 (值得一提的是,将工作对象转换为 YAML 数据时效果很好) 请看代码吹:

require 'yaml'
class Person
attr_accessor :name, :age
end
yaml_string = <<END_OF_DATA
---
- !ruby/object:Person
age: 45
name: Jimmy
- !ruby/object:Person
age: 23
name: Laura Smith
END_OF_DATA

发生错误

2.0.0-p576 :013"> END_OF_DATA
=> "---\n- !ruby/object:Person\nage: 45\nname: Jimmy\n- !ruby/object:Person\nage: 23\nname: Laura Smith\n"
2.0.0-p576 :014 > test_data = YAML::load(yaml_string)
Psych::SyntaxError: (<unknown>): did not find expected '-' indicator while parsing a block collection at line 2 column 1

我做了一些研究,凭直觉,我认为这个链接click here正在谈论这个问题。但是,由于我的 ruby​​ 语言的“幼儿园”水平,我不知道他们在说什么。希望有人能帮我解决这个问题并完全理解它。提前致谢!

最佳答案

您缺少一些缩进。 YML 不是空白不可知论者。尝试改用此数据:

yaml_string = <<END_OF_DATA
---
- !ruby/object:Person
age: 45
name: Jimmy
- !ruby/object:Person
age: 23
name: Laura Smith
END_OF_DATA

关于ruby - 为什么我在将 YAML 数据转换回工作对象时出现 Psych::SyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27925860/

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