要約
あるノードの親ノードとなりうるノードを表すクラスです。
子ノードにアクセスするための各種メソッドを持っています。
目次
- 特異メソッド
- インスタンスメソッド
継承しているメソッド
- Enumerableから継承しているメソッド
-
- all?
- any?
- chain
- chunk
- chunk_while
- collect
- collect_concat
- count
- cycle
- detect
- drop
- drop_while
- each_cons
- each_entry
- each_slice
- each_with_index
- each_with_object
- entries
- filter
- 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
- 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] = node
self[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 -> Enumerator
each_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:
- 追加するノード