Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > yaml/basenodeライブラリ > YAML::BaseNodeモジュール
クラスの継承リスト: YAML::BaseNode
YAML のノードを検索するのためのモジュールです。
self[*key] -> object | [object] | nil
[permalink][rdoc]引数で指定したキーに対応する値(もしくは引数で指定したインデックスに対応 する値の配列)を返します。対応する値がない場合は nil を返します。
at(segment) -> object | nil
[permalink][rdoc]指定したキー(もしくはインデックス)に対応する値を返します。対応する値が ない場合は nil を返します。
children -> [object]
[permalink][rdoc]自身が持つ値の配列を返します。
children_with_index -> [[object, Integer]]
[permalink][rdoc]自身が持つ値とインデックス(もしくはキー)の配列の配列を返します。
emit -> String
[permalink][rdoc]自身を YAML 形式の文字列にして返します。
match_path(ypath_str) -> Array
[permalink][rdoc]ライブラリの内部で使用します。
match_segment(ypath, depth) -> Array
[permalink][rdoc]ライブラリの内部で使用します。
search(ypath_str) -> [String]
[permalink][rdoc]引数で指定したパスのノードを検索します。見つかったパスの配列を返します。
require 'yaml' node = YAML.parse(DATA) p node.search("//name") # => ["/dog/shiba/0/name", "/cat/0/name"] p node.search("//(name|height)") # => ["/dog/shiba/0/name", "/cat/0/name"] __END__ cat: - name: taro age: 7 dog: shiba: - name: jiro age: 23
select(ypath_str) -> [YAML::Syck::Node]
[permalink][rdoc]引数で指定したパスのノードを検索します。見つかったノードの配列を返します。
require 'yaml' node = YAML.parse(DATA) # "taro" と "jiro" のノードの配列を返す。 p node.select("//name") # => [#<YAML::Syck::Scalar:0xf738b77c>, #<YAML::Syck::Scalar:0xf738b9ac>] # [{"name"=>"taro", "age"=>7}] のノードの配列を返す。 p node.select("/cat") # => [#<YAML::Syck::Seq:0xf7391910>] __END__ cat: - name: taro age: 7 dog: shiba: - name: jiro age: 23
select!(ypath_str) -> [object]
[permalink][rdoc]引数で指定したパスのノードを検索します。見つかったノードをそれぞれ YAML::Syck::Node#transform で Ruby のオブジェクトにした配列を返し ます。
require 'yaml' node = YAML.parse(DATA) p node.select!("//name") # => ["taro", "jiro"] p node.select!("/cat") # => [[{"name"=>"taro", "age"=>7}]] __END__ cat: - name: taro age: 7 dog: shiba: - name: jiro age: 23
[SEE_ALSO] YAML::Syck::Node#transform