要約
あるノードの親ノードとなりうるノードを表すクラスです。
子ノードにアクセスするための各種メソッドを持っています。
目次
- 特異メソッド
 - インスタンスメソッド
 
継承しているメソッド
- Enumerableから継承しているメソッド
 - 
  
- all?
 - any?
 - chain
 - chunk
 - chunk_while
 - collect
 - collect_concat
 - compact
 - count
 - cycle
 - detect
 - drop
 - drop_while
 - each_cons
 - each_entry
 - each_slice
 - each_with_index
 - each_with_object
 - entries
 - filter
 - filter_map
 - find
 - find_all
 - find_index
 - first
 - flat_map
 - grep
 - grep_v
 - group_by
 - include?
 - inject
 - lazy
 - map
 - max
 - max_by
 - member?
 - min
 - min_by
 - minmax
 - minmax_by
 - none?
 - one?
 - partition
 - reduce
 - reject
 - reverse_each
 - select
 - slice_after
 - slice_before
 - slice_when
 - sort
 - sort_by
 - sum
 - take
 - take_while
 - tally
 - to_h
 - uniq
 - zip
 
 - REXML::Childから継承しているメソッド
 - REXML::Nodeから継承しているメソッド
 
特異メソッド
new(parent = nil) -> REXML::Parent[permalink][rdoc][edit]- 
REXML::Parent オブジェクトを生成します。
子ノード列は空列に初期化されます。
parent で親ノードを指定します。親ノードへの追加は行わないため、オブジェクト生成後に親に適切に設定する必要があります。
通常、このメソッドは直接は使いません。継承先のクラスが適切にこのメソッド(initialize)を呼び出します。
- [PARAM] parent:
 - 親ノード
 
 
インスタンスメソッド
add(object) -> ()[permalink][rdoc][edit]push(object) -> ()self << object -> ()- 
object を子ノード列の最後に追加します。
object の親ノードには self が設定されます。
- [PARAM] object:
 - 追加するノード
 
 self[index] -> REXML::Child | nil[permalink][rdoc][edit]- 
子ノード列上の index で指定された場所のノードを返します。
範囲外を指定した場合は nil を返します。
 self[index] = node[permalink][rdoc][edit]self[range] = nodeself[start, length] = node- 
子ノード列上の指定した場所を node で置き換えます。
Array#[]= と同じ指定が可能です。
- [PARAM] index:
 - 変更場所の index (Integer)
 - [PARAM] range:
 - 変更場所の範囲 (Range)
 - [PARAM] start:
 - 変更範囲の最初の位置 (Integer)
 - [PARAM] length:
 - 変更範囲の個数 (Integer)
 - [PARAM] node:
 - 置き換えるノード
 
 to_a -> [REXML::Child][permalink][rdoc][edit]children -> [REXML::Child]- 
子ノード列の配列を返します。
 deep_clone -> REXML::Parent[permalink][rdoc][edit]- 
ノードを複製し、複製されたノードを返します。
子ノードも複製されます。
 delete(object) -> REXML::Child | nil[permalink][rdoc][edit]- 
object を子ノード列から削除します。
削除されたノードの親は nil に設定されます。
削除したノードを返します。削除されなかった場合は nil を返します。
- [PARAM] object:
 - 削除するノード
 
 delete_at(index) -> REXML::Child | nil[permalink][rdoc][edit]- 
子ノード列上の index で指定された場所の要素を取り除きます。
取り除いだノードを返します。indexが範囲外である場合は何もせず nil を返します。
 delete_if {|object| ... } -> ()[permalink][rdoc][edit]delete_if -> Enumerator- 
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
ブロックを省略した場合は Enumerator を返します。
 each {|object| ... } -> ()[permalink][rdoc][edit]each_child {|object| ... } -> ()each -> Enumeratoreach_child -> Enumerator- 
各子ノードに対しブロックを呼び出します。
ブロックを省略した場合は Enumerator を返します。
 each_index {|index| ... } -> ()[permalink][rdoc][edit]each_index -> Enumerator- 
各子ノードのインデックスに対しブロックを呼び出します。
ブロックが省略された場合は上のような繰り返しをする Enumerator オブジェクトを返します。
 index(child) -> Integer | nil[permalink][rdoc][edit]- 
child の子ノード列上での位置を返します。
child が子ノードでない場合には nil を返します。
 insert_after(child1, child2) -> self[permalink][rdoc][edit]- 
child2 を child1 で指定したノードの後ろに挿入します。
child1 が REXML::Child のインスタンスであるならば、その子ノードの後ろに挿入されます。 child1 が 文字列であるならば、XPath で場所を指定します。具体的には REXML::XPath.first(self, child1) で特定されるノードの後ろに挿入されます。
挿入されるノード(child2)の親は self に変更されます。
- [PARAM] child1:
 - 挿入場所の指定
 - [PARAM] child2:
 - 挿入されるノード
 
 insert_before(child1, child2) -> self[permalink][rdoc][edit]- 
child2 を child1 で指定したノードの前に挿入します。
child1 が REXML::Child のインスタンスであるならば、その子ノードの前に挿入されます。 child1 が 文字列であるならば、XPath で場所を指定します。具体的には REXML::XPath.first(self, child1) で特定されるノードの前に挿入されます。
挿入されるノード(child2)の親は self に変更されます。
- [PARAM] child1:
 - 挿入場所の指定
 - [PARAM] child2:
 - 挿入されるノード
 
 size -> Integer[permalink][rdoc][edit]length -> Integer- 
保持している子ノードの数を返します。
 parent? -> bool[permalink][rdoc][edit]- 
true を返します。
[SEE_ALSO] REXML::Node#parent
 replace_child(to_replace, replacement) -> ()[permalink][rdoc][edit]- 
子ノード列上の to_replace を replacement に置き換えます。
to_replace の parent は nil に、 replacement の parent は selfに変更されます。
- [PARAM] to_replace:
 - 置き換え元のノード
 - [PARAM] replacement:
 - 置き換え先のノード
 
 unshift(object) -> ()[permalink][rdoc][edit]- 
object を子ノード列の最初に追加します。
object の親ノードには self が設定されます。
- [PARAM] object:
 - 追加するノード