簡體   English   中英

YAML:如何創建逗號分隔值的多行字符串?

[英]YAML: How can I create a multi-line string of comma delimited values?

我正在使用 YAML 為新的遺物配置文件傳遞一串逗號分隔值以忽略錯誤。 我需要輸出看起來像這樣:

"NotFoundError,LocationError,InvalidParamsError"

我嘗試使用折疊樣式並剝離最后一個換行符。 我的 yaml 文件如下所示:

ignore_errors: >-
  NotFoundError,
  LocationError,
  InvalidParamsError

但是,它最終將其他換行符解析為一個空格,結果如下:

"NotFoundError, LocationError, InvalidParamsError"

我需要它來解析折疊的字符串而不是添加空格。 請幫忙。

唯一的方法是引用你的字符串並用\\轉義每一行的結尾:

ignore_errors: "\
  NotFoundError,\
  LocationError,\
  InvalidParamsError"

不幸的是,我認為 YAML 規范不能讓您做您想做的事(這個很棒的 SO 答案顯示了在 YAML 中編寫多行字符串的無數方法......但沒有涵蓋您的用例)。 我認為如果可能的話,最好的辦法是將錯誤字符串存儲為列表,然后使用您的編程語言來格式化列表。 Ruby 中的一個示例是:

require 'yaml'

yaml = <<-YAML
  ignore_errors:
    - NotFoundError
    - LocationError
    - InvalidParamsError
YAML
hash = YAML.load(yaml)
puts hash["ignore_errors"].join(',')

這給你"NotFoundError,LocationError,InvalidParamsError"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM