ライブラリ
- psych (72)
- yaml (1)
-
yaml
/ store (2)
クラス
- Object (3)
-
Psych
:: Handler (8) -
Psych
:: Nodes :: Document (3) -
Psych
:: Nodes :: Mapping (1) -
Psych
:: Nodes :: Node (3) -
Psych
:: Nodes :: Sequence (1) -
Psych
:: Parser (2) -
Psych
:: ScalarScanner (1) -
Psych
:: Stream (4) -
Psych
:: Visitors :: YAMLTree (10) -
YAML
:: Store (2)
キーワード
- << (1)
- Alias (1)
- BadAlias (1)
- Document (1)
- Emitter (1)
-
LIBYAML
_ VERSION (1) - Mapping (1)
- Mark (1)
- Node (1)
- Nodes (1)
- Omap (1)
- Parser (1)
- Psych (1)
- Scalar (1)
- ScalarScanner (1)
- Sequence (1)
- Set (1)
- Stream (2)
- SyntaxError (1)
- TreeBuilder (1)
- YAMLTree (1)
- alias (1)
- dump (2)
-
dump
_ stream (1) -
end
_ document (1) -
end
_ stream (1) - finish (2)
- finished (1)
- finished? (1)
-
libyaml
_ version (1) - load (1)
-
load
_ file (1) -
load
_ stream (2) - new (8)
- parse (2)
-
parse
_ file (1) -
parse
_ stream (2) -
psych
_ to _ yaml (1) -
psych
_ y (1) - push (1)
-
safe
_ load (1) - scalar (1)
- start (3)
-
start
_ document (1) -
start
_ mapping (1) -
start
_ sequence (1) -
start
_ stream (1) - started (1)
- started? (1)
- tag (1)
-
to
_ yaml (2) - tokenize (1)
- tree (1)
- version (1)
- version= (1)
- y (1)
- yaml (2)
-
yaml
_ tag (1)
検索結果
先頭5件
-
psych (114835.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... -
YAML (114241.0)
-
YAML (YAML Ain't Markup Language) を扱うモジュールです。
YAML (YAML Ain't Markup Language) を扱うモジュールです。
YAML オブジェクトは実際は Psych オブジェクトです。その他のオブジェ
クトも同様に実体は別のオブジェクトです。もし確認したいメソッドの記述が
見つからない場合は、psych ライブラリを確認してください。
//emlist[例][ruby]{
require "yaml"
p YAML # => Psych
p YAML::Stream # => Psych::Stream
//} -
Psych
. libyaml _ version -> [Integer , Integer , Integer] (69319.0) -
libyaml のバージョンを返します。
libyaml のバージョンを返します。
[major, minor patch-level] という 3 つの整数からなる配列を返します。
@see Psych::LIBYAML_VERSION -
Psych
:: LIBYAML _ VERSION -> String (69301.0) -
libyaml のバージョン。
libyaml のバージョン。 -
Object
# psych _ to _ yaml(options = {}) -> String (60802.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (51901.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
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (51898.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
. safe _ load(yaml , whitelist _ classes = [] , whitelist _ symbols = [] , aliases = false , filename = nil , symbolize _ names: false) -> object (51658.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデータ構造はデフォルトでは許可されていません。
任意のクラスを許可するには whitelist_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[][ruby]{
Psych.s... -
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (51622.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param symbolize_... -
Psych
. parse _ stream(yaml) {|node| . . . } -> () (51598.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("--... -
Object
# to _ yaml(options = {}) -> String (51502.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Psych
. load _ stream(yaml , filename=nil) -> [object] (51481.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
複数の YAML ドキュメントを含むデータを
Ruby のオブジェクトに変換します。
ブロックなしの場合はオブジェクトの配列を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n...") do |ruby|
list << ru... -
Psych
. load _ stream(yaml , filename=nil) {|obj| . . . } -> () (51481.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
複数の YAML ドキュメントを含むデータを
Ruby のオブジェクトに変換します。
ブロックなしの場合はオブジェクトの配列を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n...") do |ruby|
list << ru... -
Psych
:: Nodes :: Node # to _ yaml(io=nil , options={}) -> String | IO (51391.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
:: Nodes :: Node # yaml(io=nil , options={}) -> String | IO (51391.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
. parse _ file(filename) -> Psych :: Nodes :: Document (51388.0) -
filename で指定したファイルをパースして YAML の AST を返します。
filename で指定したファイルをパースして YAML の AST を返します。
@param filename パースするファイルの名前
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
. dump(o , io , options = {}) -> () (51157.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
Ruby のオブジェクト o を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、変換されたドキュメントが
その IO に書き込まれます。
指定しなかった場合は変換されたドキュメントが文字列としてメソッドの返り値と
なります。
options で出力に関するオプションを以下の指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文字列で指定します
: :header
出力にヘッダを付けるかどうかを真偽値で指定します
: :indentation
イン... -
Psych
. dump(o , options = {}) -> String (51157.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
Ruby のオブジェクト o を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、変換されたドキュメントが
その IO に書き込まれます。
指定しなかった場合は変換されたドキュメントが文字列としてメソッドの返り値と
なります。
options で出力に関するオプションを以下の指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文字列で指定します
: :header
出力にヘッダを付けるかどうかを真偽値で指定します
: :indentation
イン... -
Psych
:: Visitors :: YAMLTree (51103.0) -
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
Ruby オブジェクトから YAML の AST を構築するためのクラスです。
=== 例
builder = Psych::Visitors::YAMLTree.new
builder << { :foo => 'bar' }
builder << ["baz", "bazbaz"]
builder.tree # => #<Psych::Nodes::Stream ... > A stream containing two documents
puts tree.to_yaml
# =>
# ---
# :foo: bar
# ---
# - baz... -
Psych
. load _ file(filename) -> object (51085.0) -
filename で指定したファイルを YAML ドキュメントとして Ruby のオブジェクトに変換します。
filename で指定したファイルを YAML ドキュメントとして
Ruby のオブジェクトに変換します。
@param filename ファイル名
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
. dump _ stream(*objects) -> String (51067.0) -
オブジェクト列を YAML ドキュメント列に変換します。
オブジェクト列を YAML ドキュメント列に変換します。
@param objects 変換対象のオブジェクト列
//emlist[例][ruby]{
Psych.dump_stream("foo\n ", {}) # => "--- ! \"foo\\n \"\n--- {}\n"
//} -
Psych
:: Visitors :: YAMLTree . new(options = {} , emitter = Psych :: TreeBuilder . new , ss = Psych :: ScalarScanner . new) -> Psych :: Visitors :: YAMLTree (43336.0) -
YAMLTree オブジェクトを生成します。
YAMLTree オブジェクトを生成します。
options には構築される YAML AST に設定されるオプション設定を指定します。
Psych.dump と同じオプションが指定できます。
emitter には AST の構築に使われる Psych::TreeBuilder オブジェクト
を渡します。
ss は Ruby の String が YAML document 上で quote が必要かどうか
を判定するための Psych::ScalarScanner オブジェクトを渡します。
emitter, ss は通常デフォルトのものから変える必要はないでしょう。
@param... -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (42442.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 に設定するエンコーディング -
Object
. yaml _ tag(tag) -> () (42430.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))
... -
Kernel
# psych _ y(*objects) -> String (42406.0) -
objects を YAML document に変換します。
objects を YAML document に変換します。
このメソッドは irb 上でのみ定義されます。
syck に y メソッドがあるため、
psych_y が別名として定義されています。将来的に
syck が廃止された場合 psych_y は廃止
される予定であるため、特別の事情がない限り y を用いてください。
@param objects YAML document に変換する Ruby のオブジェクト -
Psych
:: Visitors :: YAMLTree # finish -> Psych :: Nodes :: Stream|nil (42322.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
このメソッドは2回呼び出さないでください。
@see Psych::Visitors::YAMLTree#tree -
Psych
:: Visitors :: YAMLTree # tree -> Psych :: Nodes :: Stream|nil (42322.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
内部で finish を呼び出し、変換処理を終了します。
このメソッドを2回以上呼ぶと、2回目以降は nil を返します。
@see Psych::Visitors::YAMLTree#finish -
Psych (42049.0)
-
yaml のバックエンドのためのモジュールです。
yaml のバックエンドのためのモジュールです。 -
Psych
:: Visitors :: YAMLTree # finished -> bool (42049.0) -
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # finished? -> bool (42049.0) -
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # started -> bool (42049.0) -
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # started? -> bool (42049.0) -
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # <<(object) (42019.0) -
変換対象の Ruby オブジェクトを追加します。
変換対象の Ruby オブジェクトを追加します。
@param object YAML AST へ変換する Ruby オブジェクト -
Psych
:: Visitors :: YAMLTree # push(object) (42019.0) -
変換対象の Ruby オブジェクトを追加します。
変換対象の Ruby オブジェクトを追加します。
@param object YAML AST へ変換する Ruby オブジェクト -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (33679.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 (33679.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Nodes (33661.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
:: Parser # parse(yaml) -> self (33406.0) -
YAML ドキュメントをパースし、イベントハンドラに イベントを逐次通知します。
YAML ドキュメントをパースし、イベントハンドラに
イベントを逐次通知します。
@see Psych::Parser.new, Psych::Handler, Psych::Parser#handler -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (33394.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 (33394.0) -
新たな sequence オブジェクトを生成します。
新たな sequence オブジェクトを生成します。
anchor には sequence に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には sequence に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には sequence が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nod... -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (33376.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
version にはドキュメントのバージョンを指定します。
[major, minor] という配列で指定します。
tag_directives には tag directive の配列を指定します。
それぞれの tag は [prefix, suffix] という文字列の配列で
表現します。
implicit にはドキュメントが implicit に始まっているかどうかを
真偽値で指定します。
@param version YAML ドキュメントのバージョン
@param tag_directives tag directive の配列... -
Psych
:: Emitter (33367.0) -
Psych::Parser でパースし、生じたイベントから YAML ドキュメントを再構築するようなハンドラです。
Psych::Parser でパースし、生じたイベントから
YAML ドキュメントを再構築するようなハンドラです。
以下の例では STDIN から YAML ドキュメントを入力し、
再構築した YAML ドキュメントを STDERR に出力します。
parser = Psych::Parser.new(Psych::Emitter.new($stderr))
parser.parse($stdin)
また、以下のようにイベントを手動で発生させることで
YAML ドキュメントを構築させることもできます。
各メソッドの意味については Psych::Handler を参照してください... -
Psych
:: Parser . new(handler = Handler . new) -> Psych :: Parser (33358.0) -
新たなパーサオブジェクトを生成して返します。
新たなパーサオブジェクトを生成して返します。
handler で YAML のイベントを処理するハンドラを指定します。
詳しくは Psych::Parser を参照してください。
@param handler YAML のイベントを処理するハンドラ -
Psych
:: Parser (33355.0) -
YAML のパーサ。
YAML のパーサ。
このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変換したりします。
Psych::Emitter を使うとパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキュメント に含まれているスカラー値を表示します。
# Handler for detecting s... -
Psych
:: Nodes :: Sequence (33331.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
:: Stream . new(io) -> Psych :: Stream (33322.0) -
新たな Stream オブジェクトを生成します。
新たな Stream オブジェクトを生成します。
io で YAML document の出力先を指定します。
@param io 出力先の IO オブジェクト -
Psych
:: Nodes :: Mapping (33223.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
:: TreeBuilder (33193.0) -
YAML AST を構築するためのクラスです。
YAML AST を構築するためのクラスです。
Psych::Parser.new に渡して YAML ドキュメントを YAML AST に変換する
ことができます。
また、Psych::Visitors::YAMLTree.new に渡して Ruby オブジェクト
を YAML AST に変換することもできます。
=== Example
parser = Psych::Parser.new Psych::TreeBuilder.new
parser.parse('--- foo')
parser.handler.root # => #<Psych::Nodes::Stre... -
Psych
:: Nodes :: Document (33139.0) -
YAML ドキュメントを表すクラスです。
YAML ドキュメントを表すクラスです。
このノードは Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。 -
Psych
:: Stream (33139.0) -
入力されたオブジェクトから変換された YAML document を指定した IO に出力する機能を持つクラスです。
入力されたオブジェクトから変換された YAML document を指定した
IO に出力する機能を持つクラスです。
start で変換を開始し、push で変換する Ruby オブジェクトを渡し、
最後に finish を呼ぶことで変換を完了します。
stream = Psych::Stream.new($stdout)
stream.start
stream.push({:foo => 'bar'})
stream.finish
YAML document は(バッファリングされずに)直接 $stdout に出力されます。
finish を確実に呼び出すためには Ps... -
Psych
:: Nodes :: Alias (33133.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
:: Handler # scalar(value , anchor , tag , plain , quoted , style) -> () (33127.0) -
スカラー値を見付けたときに呼び出されます。
スカラー値を見付けたときに呼び出されます。
value にはスカラー値の文字列が渡されます。
anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか... -
Psych
:: Handler # start _ document(version , tag _ directives , implicit) -> () (33121.0) -
YAML ドキュメントの始まりで呼び出されます。
YAML ドキュメントの始まりで呼び出されます。
version には YAML ドキュメントに宣言されているバージョンが
[major, minor] という配列で渡されます。宣言がない場合は空の配列が渡されます。
tag_directives には tag directive の配列が渡されます。
それぞれの tag は [prefix, suffix] という配列で表現されます。
implicit にはドキュメントが implicit に始まっているかどうかが
真偽値で渡されます。
必要に応じてこのメソッドを override してください。
@param version ... -
Psych
:: Handler # start _ stream(encoding) -> () (33121.0) -
YAML ストリームの始まりで呼び出されます。
YAML ストリームの始まりで呼び出されます。
encoding にはストリームのエンコーディング(以下のいずれか)が渡されます。
* Psych::Parser::UTF8
* Psych::Parser::UTF16BE
* Psych::Parser::UTF16LE
このメソッドは YAML のストリームごとに呼び出されます。一つのストリームには
複数のドキュメントが含まれている可能性があります。
必要に応じてこのメソッドを override してください。
@param encoding ストリームのエンコーディング(整数値) -
Kernel
# y(*objects) -> String (33106.0) -
objects を YAML document に変換します。
objects を YAML document に変換します。
このメソッドは irb 上でのみ定義されます。
syck に y メソッドがあるため、
psych_y が別名として定義されています。将来的に
syck が廃止された場合 psych_y は廃止
される予定であるため、特別の事情がない限り y を用いてください。
@param objects YAML document に変換する Ruby のオブジェクト -
Psych
:: Nodes :: Scalar (33097.0) -
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
YAML の scalar http://yaml.org/spec/1.1/#id858081 を表すクラスです。
これは AST の葉にあたるノードであり、子ノードを持ちません。 -
Psych
:: Handler # start _ mapping(anchor , tag , implicit , style) -> () (33091.0) -
mapping の開始を見付けたときに呼び出されます。
mapping の開始を見付けたときに呼び出されます。
anchor には map に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には map に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には map が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes::Mapping::BLOCK
... -
Psych
:: Handler # start _ sequence(anchor , tag , implicit , style) -> () (33091.0) -
sequence の開始を見付けたときに呼び出されます。
sequence の開始を見付けたときに呼び出されます。
anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes:... -
Psych
:: Nodes :: Document # version -> [Integer] (33085.0) -
YAML ドキュメントのバージョンを返します。
YAML ドキュメントのバージョンを返します。
@see Psych::Nodes::Document#version=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # version=(ver) (33085.0) -
YAML ドキュメントのバージョンを設定します。
YAML ドキュメントのバージョンを設定します。
@param ver 設定するバージョン
@see Psych::Nodes::Document#version,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Stream (33085.0) -
YAML stream を表すクラス。
YAML stream を表すクラス。
YAML の AST のルートノードとなるオブジェクトのクラス。
このノードの子ノードは1個以上でなければならず、また
Psych::Nodes::Document オブジェクトでなければなりません。 -
Psych
:: ScalarScanner # tokenize(string) -> object (33067.0) -
YAML の scalar である文字列を Ruby のオブジェクトに変換した ものを返します。
YAML の scalar である文字列を Ruby のオブジェクトに変換した
ものを返します。
scanner = Psych::ScalarScanner.new
p scanner.tokenize("yes") # => true
p scanner.tokenize("year") # => "year"
p scanner.tokenize("12") # => 12
@param string 変換文字列 -
Psych
:: BadAlias (33049.0) -
YAML の alias が不正である(本体が見つからない)というエラーを表す例外です。
YAML の alias が不正である(本体が見つからない)というエラーを表す例外です。 -
Psych
:: Handler # end _ stream -> () (33049.0) -
YAML stream の終端を見付けたときに呼び出されます。
YAML stream の終端を見付けたときに呼び出されます。
必要に応じてこのメソッドを override してください。 -
Psych
:: Nodes :: Node (33049.0) -
YAML AST のノードを表す抽象クラスです。
YAML AST のノードを表す抽象クラスです。
このクラスをインスタンス化することは不適切です。
すべてのノードのクラスはこのクラスの派生クラスです。 -
Psych
:: Omap (33049.0) -
YAML の ordered mapping を表すクラスです。
YAML の ordered mapping を表すクラスです。 -
Psych
:: Parser :: Mark (33049.0) -
YAML document の位置を表現するクラスです。
YAML document の位置を表現するクラスです。 -
Psych
:: ScalarScanner (33049.0) -
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。
YAML の scalar 型を読み込んで Ruby の built-in 型に変換するクラス。 -
Psych
:: Set (33049.0) -
YAML の unordered set を表すクラスです。
YAML の unordered set を表すクラスです。 -
Psych
:: Stream # finish -> () (33049.0) -
YAML document への変換を完了し、io への出力を完了します。
YAML document への変換を完了し、io への出力を完了します。 -
Psych
:: SyntaxError (33049.0) -
YAML の文法エラーを表すクラスです。
YAML の文法エラーを表すクラスです。 -
Psych
:: Handler # end _ document(implicit) -> () (33037.0) -
ドキュメントが終了したときに呼び出されます。
ドキュメントが終了したときに呼び出されます。
ドキュメントが implicit に終わったならば implicit には真が渡されます。
必要に応じてこのメソッドを override してください。
@param implicit ドキュメントが implicit に終わったかどうか
=== 例
以下の YAML ドキュメントでは implicit は true です。
---
hello world
また、以下の YAML ドキュメントでは implicit は false です。
---
hello world
... -
Psych
:: Nodes :: Node # tag -> String | nil (33037.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
:: Handler # alias(anchor) -> () (33019.0) -
anchor という名前の alias を見付けたときに呼び出されます。
anchor という名前の alias を見付けたときに呼び出されます。
必要に応じてこのメソッドを override してください。
@param anchor aliasのアンカー文字列
=== 例
以下の YAMLドキュメントは自分自身への参照を持つ配列を表しています。
--- &ponies
- first element
- *ponies
この &ponies が anchor で *ponies が alias です。この場合、
alias メソッドは "poines" という引数で呼び出されます。 -
yaml (19141.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
//emlist[例1: 構造化された配列][ruby]{
require 'yaml'
data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)
str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT
p str_r == str_l # => true
//}
... -
YAML
:: Store . new(file _ name , thread _ safe = false , yaml _ opts = {}) -> YAML :: Store (9667.0) -
自身を初期化します。
自身を初期化します。
@param file_name 格納先のファイル名。ファイルがない場合は作成します。既
にファイルが存在する場合はその内容を読み込みます。
@param thread_safe 自身をスレッドセーフにして初期化するかどうか。
@param yaml_opts YAML 出力時のオプションを Hash で指定します。
詳しくは Psych.dump を参照してください。 -
YAML
:: Store . new(file _ name , yaml _ opts = {}) -> YAML :: Store (9667.0) -
自身を初期化します。
自身を初期化します。
@param file_name 格納先のファイル名。ファイルがない場合は作成します。既
にファイルが存在する場合はその内容を読み込みます。
@param thread_safe 自身をスレッドセーフにして初期化するかどうか。
@param yaml_opts YAML 出力時のオプションを Hash で指定します。
詳しくは Psych.dump を参照してください。