为什么我和我的朋友在尝试使用YAML.dump方法将字符串转换为YAML时收到了不同的结果?
[1] pry(main)> YAML.dump("foo")
=> "--- foon"
[2] pry(main)> "foo".to_yaml
=> "--- foon"
虽然他有:
[1] pry(main)> YAML.dump("foo")
=> "--- foon...n"
[2] pry(main)> "foo".to_yaml
=> "--- foon...n"
新线后的三点(...)
更新
我已确认我的rails Psych在rails控制台中用作YAML解析器引擎:
2.2.5 :002 > YAML
=> Psych
2.2.5 :004 > Psych.dump("foo")
=> "--- foon"
2.2.5 :005 > YAML.dump("foo")
=> "--- foon"
2.2.5 :006 >
但结果仍然有些不同。对于其他信息,我没有安装任何syckgem,也不需要在我的rails项目的任何文件中。
看起来“You”可能syck在“He” 使用时用作YAML处理器psych。例如
require 'syck'
require 'psych'
Syck.dump("foo")
#=> "--- foon"
Psych.dump("foo")
#=> "--- foon...n"
两者都是有效的YAML解析器/发射器本身虽然Psych自1.9以来一直是首选,并且Syck实际上仅作为向后兼容性的gem存在并且从2.0.0开始从ruby标准库中完全删除
至于为什么“You”以某种方式使用,Syck我不能说没有比这篇文章提供的更多的信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。