當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Psych.parse_stream用法及代碼示例

本文簡要介紹ruby語言中 Psych.parse_stream 的用法。

用法

parse_stream(yaml, filename: nil, &block)

解析 yaml 中的 YAML 字符串。返回 Psych::Nodes::Stream 。此方法可以處理 yaml 中包含的多個 YAML 文檔。如果引發 Psych::SyntaxError ,則在異常消息中使用filename

如果給定一個塊,則在解析塊時將產生一個 Psych::Nodes::Document 節點。

當檢測到 YAML 語法錯誤時引發 Psych::SyntaxError

例子:

Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>

Psych.parse_stream("--- a\n--- b") do |node|
  node # => #<Psych::Nodes::Document:0x00>
end

begin
  Psych.parse_stream("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
  ex.file    # => 'file.txt'
  ex.message # => "(file.txt): found character that cannot start any token"
end

NilClass 被傳遞時引發 TypeError

有關 YAML AST 的更多信息,請參閱 Psych::Nodes

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Psych.parse_stream。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。