
|
前
-
上
-
次
-
目次
-
Array
-
配列クラス.配列の要素は任意のRubyオブジェクトです.配列は一
般的には配列式:
[1, 2, 3]
で生成されます.
-
スーパークラス:
-
-
Object
-
インクルードしているモジュール:
-
- Enumerable
-
クラスメソッド:
-
-
Array[item...]
-
引数を要素として持つ配列を生成します.
-
new([size[, val]])
-
配列を生成します.sizeを指定したときにはその大き
さの配列を生成します.valを指定したときには内容を
その値で初期化します.valのデフォルトはnil
です.
-
メソッド:
-
-
self[nth]
-
nth番目の要素を返します.先頭の要素が0番目になり
ます.nthの値が負の時には末尾からのインデックスと
見倣します(末尾の要素が -1 番目).nth番目の要素が
存在しない時にはnil を返します.
self[start..end]
-
start番目の要素からend番目の要素までの
部分配列を返します.startの値が負の時には末尾からのインデックスと
見倣します(末尾の要素が -1 番目).startの値が配列の範囲に
収まらない場合nil を返します.endの値が
配列の長さを越える時には,越えた分の長さは無視されます.
また,範囲の始点が終点よりも大きい時にはnilを返します.
self[start, length]
-
start番目からlength個の要素を含
む部分配列を返します.startの値が負の時には末尾からのインデックスと
見倣します(末尾の要素が -1 番目).lengthがstart
番目からの配列の長さより長い時には,越えた分の長さは無視され
ます.lengthが負の時にはnilを返します.
-
self[nth] = val
-
nth番目の要素をvalに設定します.
nthが配列の範囲を越える時には配列が自動的に拡張さ
れます.拡張されたものの代入されなかった要素は nil
に初期化されます.
self[start..end] = val
-
start番目の要素からend番目の要素までを
配列valの内容に置換します.valの値が配
列でないときにはto_a メソッドを使って配列に変換
します.valの要素の数の方が多い時には,後ろの要素
がずれます.
self[start, length] = val
-
start番目からlength個の要素を配列
valの内容で置き換えます.valが配列でな
いときにはto_a メソッドを使って配列に変換します.
valの要素の数の方が多い時には,後ろの要素がずれま
す.ですから,lengthが0の時にはインデックス直前の
位置への挿入になります.
例:
ary = [1, 2, 3, 4, 5]
ary[0..2] = [0, 0] # 配列の内容は [0, 0, 4, 5]
ary[1, 0] = [7] # 配列の内容は [0, 7, 0, 4, 5]
-
self + other
-
配列の連結を行います.self とotherの
両方の配列の内容を繋げた新しい配列を返します.
-
self * times
-
配列の繰り返し.
-
self - other
-
集合の差演算.self からotherの要素を
取り除いた内容の新しい配列を返します.重複する要素取り除かれ
ます.
-
self & other
-
集合の積演算.両方の配列に含まれる要素からなる新しい配列を返
します.重複する要素は取り除かれます.
-
self | other
-
集合の和演算.両方の配列にいずれかに含まれる要素を全て含む新し
い配列を返します.重複する要素は取り除かれます.
-
self << obj
-
objを配列の末尾に追加します.このメソッドは配列そのものを返
すので,以下のように連鎖できます.
array << obj1 << obj2
この場合arrayには[obj1, obj2]が追加されます.
-
self <=> other
-
self とother の各要素をそれぞれ順に
<=> で比較して,self が大きい
時に正,等しい時に0,小さい時に負の整数を返します.各要素が
等しいまま,一方だけ配列の末尾に達した時は,より短い配列の方
が小さいとみなします.
-
assoc(key)
-
配列の配列を検索して,その0番目の要素がkeyに等しいもの
を返します.比較は== 演算子を使って行われます.
a = [[1,2],[2,4],[3,6]]
a.assoc(2) # => [2, 4]
-
clear
-
配列の大きさを0にします.
-
concat(other)
-
配列otherの要素を配列の末尾に(破壊的に)追加します.
otherが配列でない時には変換されます.
-
compact
-
-
compact!
-
配列からnil を取り除きます.
compact! は削除を破壊的に行います.
-
delete(val)
-
-
delete(val){ ... }
-
配列から要素valを削除します.ブロックを指定して呼
び出された時には,削除する要素がなかった時にブロックを評価し
ます.
-
delete_at(pos)
-
posで指定された位置にある要素を取り除きます.取り
除かれた要素を返します.取り除く要素が存在しない時には
nil を返します.
-
delete_if {|x|...}
-
-
reject!{|x|...}
-
要素に対してブロックを評価し,ブロックが真を返した要素を削除
します.
-
clone
-
dup
-
レシーバと同じ内容を持つ新しい配列を返します.フリーズした配
列のclone は同様にフリーズされた配列を返しますが,
dup は内容の等しいフリーズされていない配列を返し
ます.
-
each {...}
-
各要素に対してブロックを評価します.
-
each_index {...}
-
各要素のインデックスに対してブロックを評価します.
つまり,(0...ary.size).each {} と同じです.
-
empty?
-
配列が空の時真を返します.
-
fill(val)
-
fill(val, start[, length])
-
fill(val, start..end)
-
配列(の指定された部分)の要素の値をvalに設定します.
2番めの形式でlengthが省略された時は配列の終りまで
の長さを意味します.指定された部分配列が元の配列の範囲を越え
る時は自動的に拡張され,拡張された部分はnil に初
期化されます.
-
filter{|item| ..}
-
配列の各要素内容を,その要素を引数にしてブロックを評価した値
に置き換えます.
-
flatten
-
-
flatten!
-
ネストした配列を平滑化します.flatten! は配列を
破壊的に平滑化しますが,配列がネストしていないときには
nil を返します.
-
freeze
-
配列の内容の変更を禁止します.
-
frozen?
-
配列の内容の更新が禁止されている時真を返します.
-
include?(val)
-
配列がvalと等しい要素を持つ時に真を返します.
-
index(val)
-
valと等しい最初の要素の位置を返します.等しい要素
がひとつもなかった時にはnil を返します.
-
indexes(index_1,..., index_n)
-
-
indices(index_1,..., index_n)
-
各引数の値をインデックスとする要素の配列を返します.配列に含
まれない要素が指定されても無視されます.
-
join([sep])
-
配列の要素をsepを間に挟んで連結した文字列を返しま
す.sepが省略された場合には変数$,
の値が使われます.
-
length
-
-
size
-
配列の長さを返します.
-
nitems
-
nil でない要素の数を返します.
-
pack(template)
-
配列の内容をtemplateで指定された文字列にしたがっ
て,バイナリとしてパックした文字列を返します.テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです.長さとし
て* が指定された時は「残りのデータ全て」の長さを
表します.型指定文字は以下の通りです.
-
a
- ASCII文字列(nullを詰める)
-
A
- ASCII文字列(スペースを詰める)
-
b
- ビットストリング(下位ビットから上位ビット)
-
B
- ビットストリング(上位ビットから下位ビット)
-
h
- 16進文字列(下位ニブルが先)
-
H
- 16進文字列(上位ニブルが先)
-
c
- char
-
C
- unsigned char
-
s
- short
-
S
- unsigned short
-
i
- int
-
I
- unsigned int
-
l
- long
-
L
- unsigned long
-
m
- base64された文字列
-
n
- ネットワークバイトオーダーのshort
-
N
- ネットワークバイトオーダーのlong
-
v
- "VAX"バイトオーダー(リトルエンディアン)のshort
-
V
- "VAX"バイトオーダー(リトルエンディアン)のlong
-
f
- 単精度浮動小数点数(機種依存)
-
d
- 倍精度浮動小数点数(機種依存)
-
p
- ナル終端の文字列へのポインタ
-
P
- 構造体(固定長文字列)へのポインタ
-
u
- uuencodedされた文字列
-
x
- ナルバイト
-
X
- 1バイト後退
-
@
- 絶対位置への移動
-
pop
-
配列の末尾の要素を取り除いて,それを返します.要素がない時に
はnil を返します.
-
push(obj...)
-
objを配列の末尾に追加します.
-
rassoc(value)
-
配列の配列を検索して,その1番目の要素がvalueに等しいもの
を返します.比較は== 演算子を使って行われます.
a = [[1,2],[2,4],[3,6]]
a.rassoc(2) # => [1, 2]
-
replace(other)
-
配列の内容をotherの内容で置き換えます.
-
reverse
-
reverse!
-
reverse は全ての要素を逆順に並べた配列を返します.
reverse! は配列の要素を逆順に(破壊的に)並べ替えます.
-
reverse_each {...}
-
各要素に対して逆順にブロックを評価します.
-
rindex(val)
-
valと等しい最後の要素の位置を返します.等しい要素
がひとつもなかった時にはnil を返します.
-
shift
-
配列の先頭の要素を取り除き,取り除かれた要素を返します.残り
の要素はひとつずつ前に詰められます.空配列に対しては
nil を返します.
-
sort
-
-
sort!
-
-
sort {|a, b|...}
-
-
sort! {|a, b|...}
-
配列の内容をソートします.ブロックを与えて呼び出された時には
ブロックを2引数を与えて評価し,その結果で比較します.
ブロックがない時には<=> 演算子を使って
比較します.sort はソートされた新しい配列を返し,
sort! は配列の内容をその場でソートします.
-
uniq
-
-
uniq!
-
配列から重複した要素を取り除きます.取り除かれた要素の部分は
前に詰められます.uniq! は削除を破壊的に行います.
-
unshift(obj)
-
objを配列の先頭に追加します.各要素はひとつずつ後
ろにずれます.
前
-
上
-
次
-
目次
matz@netlab.co.jp
|