开发者社区> 问答> 正文

YAML转储不一致的字符串编码

为什么我和我的朋友在尝试使用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项目的任何文件中。

展开
收起
小六码奴 2019-04-10 13:34:05 1997 0
1 条回答
写回答
取消 提交回答
  • 看起来“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我不能说没有比这篇文章提供的更多的信息。

    2019-07-17 23:33:06
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载