別のキーワード
クラス
-
Psych
:: Nodes :: Node (2) -
Psych
:: Stream (2) -
Psych
:: Visitors :: YAMLTree (1)
モジュール
- ObjectSpace (1)
- Psych (3)
- TSort (8)
キーワード
- TreeBuilder (1)
- YAMLTree (1)
-
count
_ nodes (1) -
each
_ strongly _ connected _ component (4) -
each
_ strongly _ connected _ component _ from (4) - parse (1)
-
parse
_ stream (2) - psych (1)
-
rexml
/ parsers / ultralightparser (1) - start (3)
-
to
_ ruby (1) - transform (1)
検索結果
先頭5件
-
Psych
:: Nodes (54541.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 # to _ ruby -> object (27352.0) -
AST を ruby のオブジェクトに変換します。
AST を ruby のオブジェクトに変換します。 -
ObjectSpace
. # count _ nodes(result _ hash = nil) -> Hash (18394.0) -
ノードの種類ごとの数を格納したハッシュを返します。
ノードの種類ごとの数を格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。
@raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスやメモリ管理に興味のある C Ruby の開発者向けのものです。
/... -
Psych
:: Nodes :: Node # transform -> object (18052.0) -
AST を ruby のオブジェクトに変換します。
AST を ruby のオブジェクトに変換します。 -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (709.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
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (394.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("--... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (376.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (358.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ドキュメントに文法エラーが発見されたと... -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (358.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (355.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 (355.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
TSort
. each _ strongly _ connected _ component(each _ node , each _ child) {|nodes| . . . } -> nil (322.0) -
TSort.strongly_connected_components メソッドのイテレータ版です。
TSort.strongly_connected_components メソッドのイテレータ版です。
引数 each_node と each_child でグラフを表します。
@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
require 'tsort'
g = {1=>[2... -
TSort
. each _ strongly _ connected _ component _ from(node , each _ child , id _ map={} , stack=[]) {|nodes| . . . } -> () (322.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
引数 node と each_child でグラフを表します。
返す値は規定されていません。
TSort.each_strongly_connected_component_fromはTSortをincludeして
グラフを表現する必要のないクラスメソッドです。
@param node ノードを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
req... -
psych (199.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 _ stream(yaml) {|node| . . . } -> () (94.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("--... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (76.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
Psych
:: Visitors :: YAMLTree (67.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... -
TSort
# each _ strongly _ connected _ component -> Enumerator (58.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
Psych
:: TreeBuilder (37.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... -
rexml
/ parsers / ultralightparser (37.0) -
パース結果を配列で作られた木構造により返すパーサ。
パース結果を配列で作られた木構造により返すパーサ。
REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。
===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ... -
TSort
. each _ strongly _ connected _ component(each _ node , each _ child) -> Enumerator (22.0) -
TSort.strongly_connected_components メソッドのイテレータ版です。
TSort.strongly_connected_components メソッドのイテレータ版です。
引数 each_node と each_child でグラフを表します。
@param each_node グラフ上の頂点をそれぞれ評価するcallメソッドを持つオブ
ジェクトを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
require 'tsort'
g = {1=>[2... -
TSort
. each _ strongly _ connected _ component _ from(node , each _ child , id _ map={} , stack=[]) -> Enumerator (22.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
引数 node と each_child でグラフを表します。
返す値は規定されていません。
TSort.each_strongly_connected_component_fromはTSortをincludeして
グラフを表現する必要のないクラスメソッドです。
@param node ノードを指定します。
@param each_child 引数で与えられた頂点の子をそれぞれ評価するcallメソッ
ドを持つオブジェクトを指定します。
//emlist[使用例][ruby]{
req...