我在哈希中有长字符串值,我希望在 YAML 中以文字块样式(以
>
或 |
开头的块)打印,而不是作为内联字符串。有没有办法在调用#to_yaml
时强制执行此操作?
文字块样式示例:
---
this: |
Foo
Bar
这应该可以解决问题:
require 'yaml'
require 'psych'
long_string = "Foo\nBar"
yaml_output = Psych.dump({ "this" => long_string }, { style: :literal })
# Replacing `|-` with `|`
yaml_output.gsub!("|-", "|")
puts yaml_output
输出:
---
this: |
Foo
Bar