7件ヒット
[1-7件を表示]
(0.015秒)
検索結果
-
Psych
:: Nodes :: Scalar (18058.0) -
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
これは AST の葉にあたるノードであり、子ノードを持ちません。 -
Psych
:: ScalarScanner (18058.0) -
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。 -
Psych
:: Emitter (154.0) -
Psych::Parser でパースし、生じたイベントから YAML ドキュメントを再構築するようなハンドラです。
...Psych::Parser でパースし、生じたイベントから
YAML ドキュメントを再構築するようなハンドラです。
以下の例では STDIN から YAML ドキュメントを入力し、
再構築した YAML ドキュメントを STDERR に出力します。
parser = Psych::Pars......w(Psych::Emitter.new($stderr))
parser.parse($stdin)
また、以下のようにイベントを手動で発生させることで
YAML ドキュメントを構築させることもできます。
各メソッドの意味については Psych::Handler を参照してください。
require 'psych'......put = StringIO.new
emitter = Psych::Emitter.new(output)
emitter.start_stream(Psych::Parser::UTF8)
emitter.start_document([1, 1], [], false)
emitter.start_mapping(nil, nil, false, Psych::Nodes::Mapping::BLOCK)
emitter.scalar("a", nil, nil, true, false, Psych::Nodes::Scalar::PLAIN)
emit... -
Psych
:: Parser (46.0) -
YAML のパーサ。
...ュメントを
別のフォーマット変換したりします。
Psych::Emitter を使うとパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキ......# Handler for detecting scalar values
class ScalarHandler < Psych::Handler
def scalar value, anchor, tag, plain, quoted, style
puts value
end
end
parser = Psych::Parser.new(ScalarHandler.new)
parser.parse(yaml_document)
次の例は Psych::Emitter にパースの結果を戻......力をパース→YAMLフォーマットで STDERR に出力
という流れになっています。
parser = Psych::Parser.new(Psych::Emitter.new($stderr))
parser.parse($stdin)
Psych::Parser と Psych::TreeBuilder を組み合わせると
YAML の AST を構築することができます。... -
Psych
:: Nodes :: Document (28.0) -
YAML ドキュメントを表すクラスです。
...は Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nod......es::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。... -
Psych
:: Nodes :: Mapping (28.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
...す。
Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Node......s::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
ast = Psych.parse(<<EOS)
%YAML 1.1
---
x: y
u: v
EOS
p ast.root.children.map{|v| v.value } # => ["x", "y", "u", "v"]... -
Psych
:: Nodes :: Sequence (28.0) -
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
...を付加することができます。
この例では Psych::Nodes::Sequence#anchor は "A" を返します。
%YAML 1.1
---
&A [
"This sequence",
"has an anchor"
]
tag を付けることもできます。この例では
Psych::Nodes::Sequence#tag は "tag:yaml.org,2002:seq"
(!s......s a tag"
]
Psych::Nodes::Sequence は 0 個以上の子ノードを持つことができます。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Ali...