種類
- インスタンスメソッド (11)
- 特異メソッド (8)
- クラス (7)
- ライブラリ (1)
- モジュール (1)
ライブラリ
- psych (27)
クラス
- Object (1)
-
Psych
:: Handler (1) -
Psych
:: Nodes :: Document (3) -
Psych
:: Nodes :: Mapping (1) -
Psych
:: Nodes :: Node (3) -
Psych
:: Nodes :: Sequence (1) -
Psych
:: Stream (2) -
Psych
:: Visitors :: YAMLTree (3)
モジュール
- Psych (4)
検索結果
先頭5件
-
Psych
:: Nodes :: Node # yaml(io=nil , options={}) -> String | IO (72373.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
:: Nodes :: Node (63049.0) -
YAML AST のノードを表す抽象クラスです。
YAML AST のノードを表す抽象クラスです。
このクラスをインスタンス化することは不適切です。
すべてのノードのクラスはこのクラスの派生クラスです。 -
Psych
:: Nodes :: Node # to _ yaml(io=nil , options={}) -> String | IO (36373.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Object
. yaml _ tag(tag) -> () (18376.0) -
クラスと tag の間を関連付けます。
クラスと tag の間を関連付けます。
これによって tag 付けされた YAML ドキュメントを Ruby のオブジェクトに
変換したりその逆をしたりすることができます。
@param tag 対象のクラスに関連付けるタグの文字列
=== Example
require 'psych'
class Foo
def initialize(x)
@x = x
end
attr_reader :x
end
# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
... -
Psych
:: Nodes (18163.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあり... -
Psych
:: Nodes :: Node # tag -> String | nil (18019.0) -
ノードに付加されたタグを返します。
ノードに付加されたタグを返します。
タグが付加されていない場合は nil を返します。
ast = Psych.parse(<<EOS)
---
- !!str a
- b
EOS
p ast.root.children[0].value # => "a"
p ast.root.children[0].tag # => "tag:yaml.org,2002:str"
p ast.root.children[1].value # => "b"
p ast.root.children[1].tag # => nil -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (9721.0) -
Ruby オブジェクトから YAML AST への変換のための準備をします。
Ruby オブジェクトから YAML AST への変換のための準備をします。
Psych::Visitors::YAMLTree#push が呼び出されたとき、
まだこのメソッドが呼び出されていなければ push メソッドがこの
メソッドを呼び出し、変換の準備をします。
encoding には以下のいずれかを指定できます。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding YAML AST に設定するエンコーディング -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (9337.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
version にはドキュメントのバージョンを指定します。
[major, minor] という配列で指定します。
tag_directives には tag directive の配列を指定します。
それぞれの tag は [prefix, suffix] という文字列の配列で
表現します。
implicit にはドキュメントが implicit に始まっているかどうかを
真偽値で指定します。
@param version YAML ドキュメントのバージョン
@param tag_directives tag directive の配列... -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (9337.0) -
新たな mapping オブジェクトを生成します。
新たな mapping オブジェクトを生成します。
anchor には mapping に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には mapping に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には mapping が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::... -
Psych
:: Nodes :: Sequence . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Sequence (9337.0) -
新たな sequence オブジェクトを生成します。
新たな sequence オブジェクトを生成します。
anchor には sequence に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には sequence に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には sequence が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nod... -
Psych
:: Visitors :: YAMLTree # finish -> Psych :: Nodes :: Stream|nil (9301.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
このメソッドは2回呼び出さないでください。
@see Psych::Visitors::YAMLTree#tree -
Psych
:: Visitors :: YAMLTree # tree -> Psych :: Nodes :: Stream|nil (9301.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
内部で finish を呼び出し、変換処理を終了します。
このメソッドを2回以上呼ぶと、2回目以降は nil を返します。
@see Psych::Visitors::YAMLTree#finish -
Psych
:: Nodes :: Sequence (9205.0) -
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence とは基本的にはリスト、配列です。以下のような例が考えられます。
%YAML 1.1
---
- I am
- a Sequence
YAML sequence には anchor を付加することができます。
この例では Psych::Nodes::Sequence#anchor は "A" を返します。
%YAML 1.1
---
&A [
"This sequence",
"has an... -
Psych
:: Nodes :: Alias (9133.0) -
YAML の alias http://yaml.org/spec/1.1/#alias を表すクラス。
YAML の alias http://yaml.org/spec/1.1/#alias を表すクラス。
anchor で別の YAML の要素を指します。
alias は YAML の AST の葉のノードであり、子ノードを持ちません。 -
Psych
:: Nodes :: Mapping (9115.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
as... -
Psych
:: Nodes :: Scalar (9097.0) -
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
これは AST の葉にあたるノードであり、子ノードを持ちません。 -
Psych
:: Nodes :: Stream (9067.0) -
YAML stream を表すクラス。
YAML stream を表すクラス。
YAML の AST のルートノードとなるオブジェクトのクラス。
このノードの子ノードは1個以上でなければならず、また
Psych::Nodes::Document オブジェクトでなければなりません。 -
Psych
:: Nodes :: Document (9049.0) -
YAML ドキュメントを表すクラスです。
YAML ドキュメントを表すクラスです。
このノードは Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。 -
Psych
:: Nodes :: Document # version -> [Integer] (9049.0) -
YAML ドキュメントのバージョンを返します。
YAML ドキュメントのバージョンを返します。
@see Psych::Nodes::Document#version=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # version=(ver) (9049.0) -
YAML ドキュメントのバージョンを設定します。
YAML ドキュメントのバージョンを設定します。
@param ver 設定するバージョン
@see Psych::Nodes::Document#version,
Psych::Nodes::Document.new -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (808.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
Psych
. parse _ stream(yaml) {|node| . . . } -> () (808.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (754.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
YAML ドキュメントをパースし、YAML の AST を返します。
入力に複数のドキュメントが含まれている場合は、先頭のものを AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたと... -
psych (475.0)
-
yaml のバックエンドライブラリです。libyaml ベースで作成されてお り、YAML バージョン 1.1 を扱う事ができます。
yaml のバックエンドライブラリです。libyaml ベースで作成されてお
り、YAML バージョン 1.1 を扱う事ができます。
=== 概要
Psych を用いると YAML のパースと出力ができます。
これらの機能は libyaml http://pyyaml.org/wiki/LibYAML を用いて
実装されています。さらに Ruby の大半のオブジェクトと YAML フォーマットの
データの間を相互に変換することができます。
=== 基本的な使いかた
//emlist[][ruby]{
require 'psych'
# YAML のテキストをパースする
Psych.l... -
Psych
. parse _ file(filename) -> Psych :: Nodes :: Document (367.0) -
filename で指定したファイルをパースして YAML の AST を返します。
filename で指定したファイルをパースして YAML の AST を返します。
@param filename パースするファイルの名前
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (349.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) {|em| . . . } -> Psych :: Stream (349.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Handler # scalar(value , anchor , tag , plain , quoted , style) -> () (55.0) -
スカラー値を見付けたときに呼び出されます。
スカラー値を見付けたときに呼び出されます。
value にはスカラー値の文字列が渡されます。
anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか...