33件ヒット
[1-33件を表示]
(0.023秒)
検索結果
-
Psych
:: Nodes (18150.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
...Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクト......間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあります。
AST を手作業で構築して、visitor を使って AST を YAML ドキュメントや
Ruby のオブジェクトに......持つリストの AST を構築しています。
# Create our nodes
stream = Psych::Nodes::Stream.new
doc = Psych::Nodes::Document.new
seq = Psych::Nodes::Sequence.new
scalar = Psych::Nodes::Scalar.new('foo')
# Build up our tree
stream.children << doc
doc.children << seq... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (119.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
...AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生......sych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.load
//emlist[例][ruby]{
Psych.parse("---\n - a\n - b") # => #<Psych::Nodes::Document:...>
begin
Psych.parse("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => '... -
psych (42.0)
-
yaml のバックエンドライブラリです。libyaml ベースで作成されてお り、YAML バージョン 1.1 を扱う事ができます。
...テキストをパースする
Psych.load("--- foo") # => "foo"
# YAML のデータを出力
Psych.dump("foo") # => "--- foo\n...\n"
{ :a => 'b'}.to_yaml # => "---\n:a: b\n"
//}
基本的な使い方はこれだけです。簡単な用事は
Psych.load、Psych.dump で片付きます。
===......e_stream、Psych::Nodes、Psych::Nodes::Node
などを経由して AST を解析したり操作したりできます。
===== 高水準 パース API
YAML ドキュメントをパースして Ruby のオブジェクトに変換することができます。
詳しくは Psych.load を見てくだ......変換します。
この AST は YAML ドキュメントをパースして得られるものと同じものです。
詳しくは
Psych::Nodes、Psych::Nodes::Node、Psych::TreeBuilder
を参照してください。
===== 高水準出力 API
高水準 API を使うと Ruby のデータ構造(オ...