我正在使用YAML为新的relic配置文件传递一串逗号分隔值以忽略错误。我需要输出看起来像这样:
"NotFoundError,LocationError,InvalidParamsError"
我尝试使用折叠样式并剥离最后一个换行符。我的yaml文件看起来像这样:
ignore_errors: >-
NotFoundError,
LocationError,
InvalidParamsError
但是,它将其他换行解析为最后给我这样的空格:
"NotFoundError, LocationError, InvalidParamsError"
我需要它来解析折叠的字符串而不是添加空格。请帮忙。
答案 0 :(得分:2)
唯一的方法是用双引号引起来并用\
转义每一行的结尾:
ignore_errors: "\
NotFoundError,\
LocationError,\
InvalidParamsError"
答案 1 :(得分:0)
我不认为YAML规范会让你做你想做的事,不幸的是(this great SO answer显示了在YAML中编写多行字符串的无数方法......但不包括你的使用案件)。我认为,如果可能,最好的办法是将错误字符串存储为列表,然后使用编程语言格式化列表。 Ruby中的一个例子是:
require 'yaml'
yaml = <<-YAML
ignore_errors:
- NotFoundError
- LocationError
- InvalidParamsError
YAML
hash = YAML.load(yaml)
puts hash["ignore_errors"].join(',')
为您提供"NotFoundError,LocationError,InvalidParamsError"