当前位置:  开发笔记 > 编程语言 > 正文

如何在Haskell中编写内联YAML(流式)?

如何解决《如何在Haskell中编写内联YAML(流式)?》经验,为你挑选了1个好方法。

Data.Yaml用来以人类可读的格式存储一些数据.但是,数据的某些部分是数字列表或矩阵.YAML输出,块序列样式,非常详细:

- - 1
  - 2
  - 3
- - 4
  - 5

相反,我希望这些部分以流程序列样式进行编码,就像

[[1,2,3],[4,5]]

有办法怎么做?



1> Zeta..:

不幸的是.yaml用途libyaml.虽然您希望使用流序列样式,但当前实现使用YAML_ANY_SEQUENCE_STYLE(0)而不是YAML_FLOW_SEQUENCE_STYLE(2),因此YAML_BLOCK_SEQUENCE_STYLE(1,但发射器仅检查相等YAML_FLOW_SEQUENCE_STYLE).

这被硬编码到toEventRawHaskell中的包装器中.应该可以编写encodeWith,使用特殊的toEventRawWith并采用其他选项,但目前情况并非如此.你可以打开一个功能请求,但是有一个功能要求.

编辑:的确,Data.Yaml.encode将返回"[[1,2,3], [4,5]]"如果替换出现的所有0 -- YAML_ANY_SEQUENCE_STYLE2 -- YAML_FLOW_SEQUENCE_STYLEText/Libyaml.hs.因此,您需要在本地修补库,或者询问该功能请求.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有