クラス
-
Psych
:: Handler (3) -
Psych
:: Nodes :: Node (2) -
Psych
:: Nodes :: Stream (7) -
Psych
:: Parser (3) -
Psych
:: Stream (4) -
Psych
:: TreeBuilder (1) -
Psych
:: Visitors :: YAMLTree (3)
モジュール
- Psych (5)
キーワード
- ANY (1)
- Document (1)
- Emitter (1)
-
NEWS for Ruby 2
. 5 . 0 (1) - Nodes (1)
- TreeBuilder (1)
- UTF16BE (2)
- UTF16LE (2)
- UTF8 (2)
- YAML (1)
- YAMLTree (1)
-
dump
_ stream (1) - encoding (1)
- encoding= (1)
-
end
_ stream (1) - finish (2)
-
load
_ stream (2) - new (2)
-
parse
_ stream (2) - root (1)
- start (3)
-
start
_ stream (1) - streaming? (1)
-
to
_ yaml (1) - tree (1)
- yaml (2)
検索結果
先頭5件
-
psych (114415.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
:: Stream (87235.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 :: Stream (87067.0) -
YAML stream を表すクラス。
YAML stream を表すクラス。
YAML の AST のルートノードとなるオブジェクトのクラス。
このノードの子ノードは1個以上でなければならず、また
Psych::Nodes::Document オブジェクトでなければなりません。 -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (70057.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| . . . } -> () (69457.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
. load _ stream(yaml , filename=nil) -> [object] (69415.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| . . . } -> () (69415.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
. dump _ stream(*objects) -> String (69340.0) -
オブジェクト列を YAML ドキュメント列に変換します。
オブジェクト列を YAML ドキュメント列に変換します。
@param objects 変換対象のオブジェクト列
//emlist[例][ruby]{
Psych.dump_stream("foo\n ", {}) # => "--- ! \"foo\\n \"\n--- {}\n"
//} -
Psych
:: Handler # start _ stream(encoding) -> () (51358.0) -
YAML ストリームの始まりで呼び出されます。
YAML ストリームの始まりで呼び出されます。
encoding にはストリームのエンコーディング(以下のいずれか)が渡されます。
* Psych::Parser::UTF8
* Psych::Parser::UTF16BE
* Psych::Parser::UTF16LE
このメソッドは YAML のストリームごとに呼び出されます。一つのストリームには
複数のドキュメントが含まれている可能性があります。
必要に応じてこのメソッドを override してください。
@param encoding ストリームのエンコーディング(整数値) -
Psych
:: Handler # end _ stream -> () (51352.0) -
YAML stream の終端を見付けたときに呼び出されます。
YAML stream の終端を見付けたときに呼び出されます。
必要に応じてこのメソッドを override してください。 -
Psych
:: Handler # streaming? -> bool (51301.0) -
handler が streaming handler であるならば真を返すように override してください。
handler が streaming handler であるならば真を返すように
override してください。
デフォルトでは false を返します。 -
Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (43381.0) -
Psych::Nodes::Stream オブジェクトを生成して返します。
Psych::Nodes::Stream オブジェクトを生成して返します。
encoding には stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding エンコーディング -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (43279.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 (43279.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Stream . new(io) -> Psych :: Stream (42655.0) -
新たな Stream オブジェクトを生成します。
新たな Stream オブジェクトを生成します。
io で YAML document の出力先を指定します。
@param io 出力先の IO オブジェクト -
Psych
:: Nodes :: Stream # encoding=(enc) (42139.0) -
stream に使われるエンコーディングを指定します。
stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param enc 設定するエンコーディング
@see Psych::Nodes::Stream#encoding -
Psych
:: Nodes :: Stream # encoding -> Integer (42085.0) -
stream に使われるエンコーディングを返します。
stream に使われるエンコーディングを返します。
@see Psych::Nodes::Stream#encoding= -
Psych
:: Nodes :: Stream :: UTF16BE -> Integer (42055.0) -
UTF16BE エンコーディングを表します。
UTF16BE エンコーディングを表します。
Psych::Parser::UTF16BE と同じ値です。
@see Psych::Nodes::Stream.new -
Psych
:: Nodes :: Stream :: UTF16LE -> Integer (42055.0) -
UTF16LE エンコーディングを表します。
UTF16LE エンコーディングを表します。
Psych::Parser::UTF16LE と同じ値です。
@see Psych::Nodes::Stream.new -
Psych
:: Nodes :: Stream :: UTF8 -> Integer (42055.0) -
UTF8 エンコーディングを表します。
UTF8 エンコーディングを表します。
Psych::Parser::UTF8 と同じ値です。
@see Psych::Nodes::Stream.new -
Psych
:: Nodes :: Stream :: ANY -> Integer (42019.0) -
任意のエンコーディングを表す値。
任意のエンコーディングを表す値。
Psych::Parser::ANY と同じ値です。 -
Psych
:: Stream # finish -> () (42001.0) -
YAML document への変換を完了し、io への出力を完了します。
YAML document への変換を完了し、io への出力を完了します。 -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (33982.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 (33643.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
:: TreeBuilder # root -> Psych :: Nodes :: Stream (33643.0) -
AST の root を返します。
AST の root を返します。
@see Psych::Nodes::Stream -
Psych
:: Visitors :: YAMLTree # finish -> Psych :: Nodes :: Stream|nil (33625.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
このメソッドは2回呼び出さないでください。
@see Psych::Visitors::YAMLTree#tree -
Psych
:: Visitors :: YAMLTree # tree -> Psych :: Nodes :: Stream|nil (33625.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
内部で finish を呼び出し、変換処理を終了します。
このメソッドを2回以上呼ぶと、2回目以降は nil を返します。
@see Psych::Visitors::YAMLTree#finish -
Psych
:: Emitter (33283.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
:: Nodes :: Document (33109.0) -
YAML ドキュメントを表すクラスです。
YAML ドキュメントを表すクラスです。
このノードは Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。 -
Psych
:: TreeBuilder (33109.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
:: Visitors :: YAMLTree (33073.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
:: Nodes :: Node # to _ yaml(io=nil , options={}) -> String | IO (33037.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 (33037.0) -
AST を YAML ドキュメントに変換します。
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、その
オブジェクトに変換後のドキュメントが書き込まれます。
この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを
文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正で
あるためエラーが発生します。
options には以下が指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文... -
Psych
:: Parser :: UTF16BE -> Integer (33037.0) -
UTF-16BE エンコーディングを表します。
UTF-16BE エンコーディングを表します。
@see Psych::Handler#start_stream -
Psych
:: Parser :: UTF16LE -> Integer (33037.0) -
UTF-16LE エンコーディングを表します。
UTF-16LE エンコーディングを表します。
@see Psych::Handler#start_stream -
Psych
:: Parser :: UTF8 -> Integer (33037.0) -
UTF-8 エンコーディングを表します。
UTF-8 エンコーディングを表します。
@see Psych::Handler#start_stream -
NEWS for Ruby 2
. 5 . 0 (271.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス... -
YAML (109.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
//} -
yaml (37.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
//}
...