別のキーワード
クラス
-
Psych
:: Nodes :: Node (24) -
Psych
:: Stream (24) -
Psych
:: Visitors :: YAMLTree (12)
モジュール
- ObjectSpace (12)
- Psych (36)
- TSort (92)
キーワード
- TreeBuilder (12)
- YAMLTree (12)
-
count
_ nodes (12) -
each
_ strongly _ connected _ component (46) -
each
_ strongly _ connected _ component _ from (46) - parse (12)
-
parse
_ stream (24) - psych (12)
-
rexml
/ parsers / ultralightparser (12) - start (36)
-
to
_ ruby (12) - transform (12)
検索結果
先頭5件
-
Psych
:: Nodes (18180.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
...ych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメン......メントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあります。
AST を手作業で構築して、visitor を使って AST を YAML ドキュメントや
Ruby のオブジェクトに変換したりすることができます。
以下の例で......持つリストの AST を構築しています。
# Create our nodes
stream = Psych::Nodes::Stream.new
doc = Psych::Nodes::Document.new
seq = Psych::Nodes::Sequence.new
scalar = Psych::Nodes::Scalar.new('foo')
# Build up our tree
stream.children << doc
doc.children << seq... -
Psych
:: Nodes :: Node # to _ ruby -> object (9117.0) -
AST を ruby のオブジェクトに変換します。
...AST を ruby のオブジェクトに変換します。... -
ObjectSpace
. # count _ nodes(result _ hash = nil) -> Hash (6131.0) -
ノードの種類ごとの数を格納したハッシュを返します。
...します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスやメモリ管理に興味のある C Ruby の開発者向けのものです。
//emlist[例][ruby]{
ObjectSpace.count_nodes
# => {:NODE_METHOD=>2027, :NODE_FBODY=>1927,......:NODE_CFUNC=>1798, ...}
//}
戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。
本メソッドは C Ruby 以外では動作しません。... -
Psych
:: Nodes :: Node # transform -> object (6017.0) -
AST を ruby のオブジェクトに変換します。
...AST を ruby のオブジェクトに変換します。... -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (236.0) -
Ruby オブジェクトから YAML AST への変換のための準備をします。
...Ruby オブジェクトから YAML AST への変換のための準備をします。
Psych::Visitors::YAMLTree#push が呼び出されたとき、
まだこのメソッドが呼び出されていなければ push メソッドがこの
メソッドを呼び出し、変換の準備をします。
e......ncoding には以下のいずれかを指定できます。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding YAML AST に設定するエンコーディング... -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (131.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
...Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//eml......ist[例][ruby]{
Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>
//}... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (125.0) -
node から到達可能な強連結成分についてのイテレータです。
...示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
non_sort.each_strongly_connected_component{|nodes|
p nodes
nodes.each {|node|... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (119.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
...AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生......axError YAMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.load
//emlist[例][ruby]{
Psych.parse("---\n - a\n - b") # => #<Psych::Nodes::Document:...>
begin
Psych.parse("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'... -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (119.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
...list[使用例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
non_sort.each_strongly_connected_component{|nodes|
p nodes
}
#出力
#=>...