Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rexml/documentライブラリ > REXML::Parentクラス
クラスの継承リスト: REXML::Parent < Enumerable < REXML::Child < REXML::Node < Object < Kernel < BasicObject
あるノードの親ノードとなりうるノードを表すクラスです。
子ノードにアクセスするための各種メソッドを持っています。
new(parent = nil) -> REXML::Parent
[permalink][rdoc]REXML::Parent オブジェクトを生成します。
子ノード列は空列に初期化されます。
parent で親ノードを指定します。 親ノードへの追加は行わないため、オブジェクト生成後に親に 適切に設定する必要があります。
通常、このメソッドは直接は使いません。継承先のクラスが適切に このメソッド(initialize)を呼び出します。
add(object) -> ()
[permalink][rdoc]push(object) -> ()
self << object -> ()
object を子ノード列の最後に追加します。
object の親ノードには self が設定されます。
self[index] -> REXML::Child | nil
[permalink][rdoc]子ノード列上の index で指定された場所のノードを返します。
範囲外を指定した場合は nil を返します。
self[index] = node
[permalink][rdoc]self[range] = node
self[start, length] = node
子ノード列上の指定した場所を node で置き換えます。
Array#[]= と同じ指定が可能です。
to_a -> [REXML::Child]
[permalink][rdoc]children -> [REXML::Child]
子ノード列の配列を返します。
deep_clone -> REXML::Parent
[permalink][rdoc]ノードを複製し、複製されたノードを返します。
子ノードも複製されます。
delete(object) -> REXML::Child | nil
[permalink][rdoc]object を子ノード列から削除します。
削除されたノードの親は nil に設定されます。
削除したノードを返します。削除されなかった場合は nil を返します。
delete_at(index) -> REXML::Child | nil
[permalink][rdoc]子ノード列上の index で指定された場所の要素を取り除きます。
取り除いだノードを返します。indexが範囲外である場合は何もせず nil を返します。
delete_if {|object| ... } -> ()
[permalink][rdoc]delete_if -> Enumerator
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
ブロックを省略した場合は、各子ノードに対し上の操作を する Enumerator オブジェクトを返します。
each {|object| ... } -> ()
[permalink][rdoc]each_child {|object| ... } -> ()
each -> Enumerator
each_child -> Enumerator
各子ノードに対しブロックを呼び出します。
ブロックを省略した場合は、各子ノードに対し操作を 繰り返すような Enumerator オブジェクトを返します。
each_index {|index| ... } -> ()
[permalink][rdoc]each_index -> Enumerator
各子ノードのインデックスに対しブロックを呼び出します。
ブロックが省略された場合は上のような繰り返しをする Enumerator オブジェクトを返します。
index(child) -> Integer | nil
[permalink][rdoc]child の子ノード列上での位置を返します。
child が子ノードでない場合には nil を返します。
insert_after(child1, child2) -> self
[permalink][rdoc]child2 を child1 で指定したノードの後ろに挿入します。
child1 が REXML::Child のインスタンスであるならば、その 子ノードの後ろに挿入されます。 child1 が 文字列であるならば、XPath で場所を指定します。 具体的には REXML::XPath.first(self, child1) で特定されるノードの 後ろに挿入されます。
挿入されるノード(child2)の親は self に変更されます。
insert_before(child1, child2) -> self
[permalink][rdoc]child2 を child1 で指定したノードの前に挿入します。
child1 が REXML::Child のインスタンスであるならば、その 子ノードの前に挿入されます。 child1 が 文字列であるならば、XPath で場所を指定します。 具体的には REXML::XPath.first(self, child1) で特定されるノードの 前に挿入されます。
挿入されるノード(child2)の親は self に変更されます。
size -> Integer
[permalink][rdoc]length -> Integer
保持している子ノードの数を返します。
parent? -> bool
[permalink][rdoc]true を返します。
[SEE_ALSO] REXML::Node#parent
replace_child(to_replace, replacement) -> ()
[permalink][rdoc]子ノード列上の to_replace を replacement に置き換えます。
to_replace の parent は nil に、 replacement の parent は selfに変更されます。
unshift(object) -> ()
[permalink][rdoc]object を子ノード列の最初に追加します。
object の親ノードには self が設定されます。