require 'yaml'
my_hash = { long_string: "This is a very long string that I want to display in a literal block in my YAML output" }
puts my_hash.to_yaml(:indentation => 2, :fold => ">")
这会将YAML输出为:
---
long_string: >
This is a very long string that I want to display in a literal block in my YAML output
1条答案
按热度按时间mitkmikd1#
是的,当对包含长字符串值的哈希调用#to_yaml时,有一种方法可以强制文本块样式。您可以使用传递给
#to_yaml
的选项哈希中的:fold
键来指定这些字符串值应该折叠到文本块中。例如,下面的代码将包含长字符串值的哈希转换为文本块中包含该字符串值的YAML:
这会将YAML输出为:
您也可以使用|而不是〉来获取以开头的块|。