種類
- クラス (48)
- インスタンスメソッド (24)
- ライブラリ (24)
- 特異メソッド (12)
- 文書 (12)
ライブラリ
- psych (84)
クラス
-
Psych
:: Handler (12) -
Psych
:: Parser (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Emitter (12)
- Mark (12)
- TreeBuilder (12)
- new (12)
- parse (12)
- psych (12)
- rdoc (12)
-
start
_ stream (12)
検索結果
先頭5件
-
Psych
:: Parser (18106.0) -
YAML のパーサ。
...YAML のパーサ。
このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変......とパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキュメント に含まれているスカラー値を表示します。
# Handler for detec......d
parser = Psych::Parser.new(ScalarHandler.new)
parser.parse(yaml_document)
次の例は Psych::Emitter にパースの結果を戻しています。
STDIN からの入力をパース→YAMLフォーマットで STDERR に出力
という流れになっています。
parser = Psych::Parser... -
Psych
:: Parser # parse(yaml) -> self (3129.0) -
YAML ドキュメントをパースし、イベントハンドラに イベントを逐次通知します。
...
YAML ドキュメントをパースし、イベントハンドラに
イベントを逐次通知します。
@see Psych::Parser.new, Psych::Handler, Psych::Parser#handler... -
Psych
:: Parser . new(handler = Handler . new) -> Psych :: Parser (3119.0) -
新たなパーサオブジェクトを生成して返します。
...新たなパーサオブジェクトを生成して返します。
handler で YAML のイベントを処理するハンドラを指定します。
詳しくは Psych::Parser を参照してください。
@param handler YAML のイベントを処理するハンドラ... -
Psych
:: Parser :: Mark (3016.0) -
YAML document の位置を表現するクラスです。
...YAML document の位置を表現するクラスです。... -
psych (158.0)
-
yaml のバックエンドライブラリです。libyaml ベースで作成されてお り、YAML バージョン 1.1 を扱う事ができます。
...yaml のバックエンドライブラリです。libyaml ベースで作成されてお
り、YAML バージョン 1.1 を扱う事ができます。
=== 概要
Psych を用いると YAML のパースと出力ができます。
これらの機能は libyaml http://pyyaml.org/wiki/LibYAML を用......大半のオブジェクトと YAML フォーマットの
データの間を相互に変換することができます。
=== 基本的な使いかた
//emlist[][ruby]{
require 'psych'
# YAML のテキストをパースする
Psych.load("--- foo") # => "foo"
# YAML のデータを出力
Psych.dum......ス API は利用者が入力となる YAML ドキュメントについて
すでに良く知っていて、AST を構築したり Ruby のオブジェクトに変換する
のが無駄である場合に使います。この API については
Psych::Parser を参照してください。イベン... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (132.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...した
(以前は環境依存。大抵の場合"GMT")
== 文法の変更
: parser [compat]
数字で始まるグローバル変数は特殊変数 $1, $2, ... 以外に許されなくな
りました。
: [parser], [change]
`*' による配列展開が、多重代入の右辺で行われ......: [parser]
スコープ演算子 `::' を伴う定数代入を許すようになりました。
p Object::Foo = 1
また、"class Foo::Bar; end" という定義も可能になりました。
: [parser]
(({.<digit>}))はFloatのリテラルではなくなりました。
: [parser] [......y 追加。((<ruby-dev:20363>))
: ((<rexml>)) [lib],[new]
追加
: ((<yaml|YAML>)) [new]
追加。YAML は、YAML Ain't Markup Language だそうです。
((<URL:http://yaml4r.sourceforge.net/>))
((<URL:http://yaml.org/>))
: ((<zlib>)) [lib] [new]
追加
: ((<bigdecimal>)) [lib] [ne... -
Psych
:: Emitter (80.0) -
Psych::Parser でパースし、生じたイベントから YAML ドキュメントを再構築するようなハンドラです。
...h::Parser でパースし、生じたイベントから
YAML ドキュメントを再構築するようなハンドラです。
以下の例では STDIN から YAML ドキュメントを入力し、
再構築した YAML ドキュメントを STDERR に出力します。
parser = Psych::Parser.n......ew(Psych::Emitter.new($stderr))
parser.parse($stdin)
また、以下のようにイベントを手動で発生させることで
YAML ドキュメントを構築させることもできます。
各メソッドの意味については Psych::Handler を参照してください。
require 'psych......'
require 'stringio'
output = 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, Psyc... -
Psych
:: TreeBuilder (64.0) -
YAML AST を構築するためのクラスです。
...YAML AST を構築するためのクラスです。
Psych::Parser.new に渡して YAML ドキュメントを YAML AST に変換する
ことができます。
また、Psych::Visitors::YAMLTree.new に渡して Ruby オブジェクト
を YAML AST に変換することもできます。
=== Exam......ple
parser = Psych::Parser.new Psych::TreeBuilder.new
parser.parse('--- foo')
parser.handler.root # => #<Psych::Nodes::Stream:0x00000001400000 ... >... -
Psych
:: Handler # start _ stream(encoding) -> () (40.0) -
YAML ストリームの始まりで呼び出されます。
...
YAML ストリームの始まりで呼び出されます。
encoding にはストリームのエンコーディング(以下のいずれか)が渡されます。
* Psych::Parser::UTF8
* Psych::Parser::UTF16BE
* Psych::Parser::UTF16LE
このメソッドは YAML のストリームごとに呼...