5
Ruby 2.0,Yaml使用Psych似乎无法逃避双引号。任何人有解决这个问题的想法?YAML:错误解析字符串与逃脱的双引号
data_ =<<END_
description: "Acme acquires ILM: Lucas says \"Inevitable!\""
END_
ap YAML.load(data_)
产生
/Users/x/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): did not find expected key while parsing a block mapping at line 1 column 1 (Psych::SyntaxError)
逃逸单引号的进入工作,但如果它包含单引号,逃避他们产生错误了。
description: 'Acme acquires ILM: Lucas says "It\'s Inevitable!"'
在一个理想的世界,这些条目应该包含适当的Unicode印刷报价,但我没有控制这些(虽然我可以用YAML处理之前取代他们)......
任何想法有没有YAML正确解析这个?
更新:回答我的问题。发现,可以通过复制其逃脱单引号,所以此工程:
description: 'Acme acquires ILM: Lucas says "It''s Inevitable!"'
我用YAML.dump(在期望的字符串)发现了这个
A-ha!所以我看着错误的地方。谢谢! – aaandre
我可能会根据Ruby对象构建所需的结构,然后用'to_yaml'来获取字符串,而不用引用无意义的方式来担心这种方式。 –