class Syck::YamlNode + Syck::BaseNode
クラスの継承リスト: Syck::YamlNode < Syck::BaseNode < Object < Kernel < BasicObject
要約
YAML のノードを表現するためのクラスです。
特異メソッド
new(type, val) -> Syck::YamlNode
-
自身を初期化します。
- [PARAM] type:
- タグを文字列で指定します。
- [PARAM] val:
- 値を文字列で指定します。
インスタンスメソッド
self[*key] -> object | [object] | nil
-
引数で指定したキーに対応する値(もしくは引数で指定したインデックスに対応 する値の配列)を返します。対応する値がない場合は nil を返します。
anchor -> object
-
使用されていません。
anchor=(val)
-
使用されていません。
at(segment) -> object | nil
-
指定したキー(もしくはインデックス)に対応する値を返します。対応する値が ない場合は nil を返します。
children -> [object]
-
自身が持つ値の配列を返します。
children_with_index -> [[object, Integer]]
-
自身が持つ値とインデックス(もしくはキー)の配列の配列を返します。
emit -> String
-
自身を YAML 形式の文字列にして返します。
kind -> "map" | "seq" | "scalar"
-
ノードの種別を文字列で返します。
kind=(val)
-
ノードの種別を文字列で指定します。
ユーザが直接使用する事はありません。
match_path(ypath_str) -> Array
-
ライブラリの内部で使用します。
match_segment(ypath, depth) -> Array
-
ライブラリの内部で使用します。
search(ypath_str) -> [String]
-
引数で指定したパスのノードを検索します。見つかったパスの配列を返します。
- [PARAM] ypath_str:
- 検索するパスを文字列で指定します。
require 'syck' 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]
-
引数で指定したパスのノードを検索します。見つかったノードの配列を返します。
- [PARAM] ypath_str:
- 検索するパスを文字列で指定します。
require 'syck' 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]
-
引数で指定したパスのノードを検索します。見つかったノードをそれぞれ Syck::Node#transform で Ruby のオブジェクトにした配列を返し ます。
- [PARAM] ypath_str:
- 検索するパスを文字列で指定します。
require 'syck' 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] Syck::Node#transform
transform -> object
-
自身が表現するオブジェクトを Ruby のオブジェクトにして返します。
[注意] 動作しません。
type_id -> String
-
自身のタグを文字列で返します。
type_id=(val)
-
自身のタグを文字列で指定します。
ユーザが直接使用する事はありません。
value -> String | Array | Hash
-
値を返します。
value=(val)
-
自身の値に val を設定します。
ユーザが直接使用する事はありません。