種類
- インスタンスメソッド (70)
- クラス (36)
- モジュール (12)
- 特異メソッド (12)
クラス
-
Psych
:: Nodes :: Alias (36)
モジュール
- TSort (46)
キーワード
- Alias (12)
- Mapping (12)
- Sequence (12)
- anchor (12)
- anchor= (12)
-
each
_ strongly _ connected _ component (23) -
each
_ strongly _ connected _ component _ from (23) - new (12)
検索結果
先頭5件
-
Psych
:: Nodes (18156.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
...間的な AST に変換してから
それを 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......:Nodes::Mapping の子ノード数は
偶数でなければなりません。
Psych::Nodes::Sequence と Psych::Nodes::Mapping の子ノードとして有効な
ものは以下のいずれかです。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias... -
Psych
:: Nodes :: Alias (9038.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
:: Nodes :: Alias . new(anchor) -> Psych :: Nodes :: Alias (6218.0) -
新たな Alias オブジェクトを生成します。
...新たな Alias オブジェクトを生成します。
anchor で指す先の anchor を指定します。
@param anchor 指す先の anchor... -
Psych
:: Nodes :: Alias # anchor -> String (6040.0) -
alias が指す先の anchor を返します。
...alias が指す先の anchor を返します。
@see Psych::Nodes::Alias#anchor=,
Psych::Nodes::Alias.new... -
Psych
:: Nodes :: Alias # anchor=(val) (6040.0) -
alias が指す先の anchor を変更します。
...alias が指す先の anchor を変更します。
@param val 設定する anchor
@see Psych::Nodes::Alias#anchor,
Psych::Nodes::Alias.new... -
Psych
:: Nodes :: Sequence (3048.0) -
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
...することができます。
この例では Psych::Nodes::Sequence#anchor は "A" を返します。
%YAML 1.1
---
&A [
"This sequence",
"has an anchor"
]
tag を付けることもできます。この例では
Psych::Nodes::Sequence#tag は "tag:yaml.org,2002:seq"
(!seq はこ......tag"
]
Psych::Nodes::Sequence は 0 個以上の子ノードを持つことができます。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias... -
Psych
:: Nodes :: Mapping (3036.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
...Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mappi......ng
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
ast = Psych.parse(<<EOS)
%YAML 1.1
---
x: y
u: v
EOS
p ast.root.children.map{|v| v.value } # => ["x", "y", "u", "v"]... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (125.0) -
node から到達可能な強連結成分についてのイテレータです。
...e '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|
non_sort.each_stron... -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (119.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
...quire '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
}
#出力
#=> [4]
#=> [2, 3]
#=> [1]
//...