Ruby言語学習シリーズ--Arrayクラス関数
6833 ワード
関数名
説明
例
&
配列と、2つのグループの交差を返します.
[1,2] & [2,3] » [2]
*
配列n回コピー
[1,2]*2 » [1,2,1,2]
+
重複する要素は除外されませんが、2つのグループのセットを返します.
[1,2]+[2,3] » [1,2,2,3]
<<
要素を追加しますが、重複する要素は除外されません.
[1,2]<<[2,3] » [1,2,2,3]
|
要素を追加しますが、重複する要素は除外します.
1,2] | [2,3] » [1,2,3]
-
最初の配列と2番目の配列の異なる要素を返します.
[1,2]-[2,3] » [1]
<=>
ひかくはいれつ
[1,2]<=>[2,3] »flase
==
を比較し、すべての要素が等しい場合に真を返します.[1,2]==[2,1] »flase
assoc
配列の各要素から指定したオブジェクトを検索
[[1,2],[3,4]].assoc(2) » [1,2]
at
配列を見つけたN番目の要素の負の数は逆検索を表します
["a","b","c","d","e"].at(0) » "a"["a","b","c","d","e"].at(-1) » "e"
clear
配列内のすべての要素を削除
["a","b","c","d","e"]. clear
collect collect!
配列の各要素を1つのプロシージャブロックで処理する
["a","b","c","d"].collect {|x| x + "!"} » ["a!", "b!", "c!", "d!"]
compact compact!
値が
nil
の要素を削除すると、新しい配列が生成され、返されます.["a",nil,"b",nil,"c",nil].compact » ["a", "b", "c"]
delete
要素を削除します.要素が重複している場合は、すべて削除します.
a = [ "a", "b", "b", "b", "c"] a.delete("b") puts a » ["a","c"]
delete_at
posが指す位置の要素を削除し、返します.posが配列範囲を超えた場合は
nil
を返すa = %w( ant bat cat dog ) a.delete_at(2) » "cat" a » ["ant", "bat", "dog"] a.delete_at(99) » nil
delete_if
条件に基づいて削除
a = [ "a", "b", "c"] a.delete_if {|x| x >= "b"} » ["a"]
each
配列の各要素を値で反復
a = [ "a", "b", "c"] a.each {|x| print x, "-- "}
» "a -- b -- c --"
each_index
配列の各要素をインデックスで反復
a = [ "a", "b", "c"] a.each_index {|x| print x, "-- "} » "0 -- 1 -- 2 --"
empty?
配列が空かどうかを判断し、空であれば真を返す
[].empty? » true
eql!
2つのグループが等しいかどうかを比較する
["a","b","c"].eql?(["a","b","c"]) » true
fill
じゅうてんはいれつ
["a","b","c","d"].fill("x") » ["x","x","x","x"] ["a","b","c","d"].fill("z", 2, 2) » ["x", "x", "z", "z"]
first
配列の最初の要素を返します.ヘッダ要素がない場合は
nil
を返します[ "q", "r", "s", "t"].first » "q"
last
配列の最後の要素を返します.配列が空の場合はnilを返します
["w","x","y","z"].last » "z"
include?
配列に要素が含まれているかどうかを判断する
a = [ "a", "b", "c"] a.include?("b") » true a.include?("z") » false
index
配列内の最初の
==
valの要素の位置を返します.a = [ "a", "b", "c"] a.index("b") » 1 a.index("z") » nil
indexes
インデックス値が各パラメータ値と等しい要素を配列形式で返す
a = [ "a", "b", "c", "d", "e", "f", "g"] a.indexes(0, 2, 4) » ["a", "c", "e"] a.indexes( 2, 4, 12) » [ "c", "e", nil]
insert
インデックスnthの要素の前に第2パラメータ以降の値を挿入
ary = %w(foo bar baz) ary.insert 2,'a','b' p ary » ["foo", "bar", "a", "b", "baz"]
join
配列要素を一定の区切り記号で接続する
[ "a", "b", "c"].join » "abc" [ "a", "b", "c"].join("-") » "a-b-c"
length size
配列の長さを返します.配列が空の場合は0を返します.
[1,2,3].length » 3 [1,2,3].size » 3
nitems
nil
以外の要素の数を返します.[ 1, nil, 3, nil, 5 ].nitems » 3
pop
末尾要素を削除して返します.配列が空の場合はnilを返します
a = [ "a", "m", "z"] a.pop » "z" p a » ["a", "m"]
push
新しい要素を追加
["a","b"].push(['1','2']) » ["a", "b", ["1", "2"]]
rassoc
配列の各要素(要素は配列でなければなりません)を遍歴し、一致インデックスが1の値が検索された文字と等しいかどうか、最初の等しい要素を返します.
a = [[15,1], [25,2], [35,2]] p a.rassoc(2) » [25, 2]
replace
配列要素の置換
a = ["a","b"] a.replace(["x","y","z"]) p a »["x", "y", "z"]
reverse reverse!
すべての要素を逆順序で並べ替えて新しい配列を生成し、それを返します.
["a","b","c"].reverse » ["c", "b", "a"]
rindex
最後の
の要素のインデックス値を返します.a = [ "a","b","b","b","c"] a.rindex("b") » 3
shift
配列の最初の要素を削除して返します.残りの要素は順次繰り上げられます.配列が空の場合はnilを返します.
args = ["-m","-q","filename"] args.shift » "-m" args » ["-q", "filename"]
sort sort!
小さい順に並べ替え
a = [ "d", "a", "e", "c", "b"] a.sort » ["a", "b", "c", "d", "e"]
uniq uniq!
配列内の重複要素を削除した後、新しい配列を生成して返します.
a = [ "a", "a", "b", "b", "c"] a.uniq » ["a", "b", "c"]
unshift
配列の最初の要素の前に要素を追加
a = [ "b", "c", "d"] a.unshift("a") » ["a", "b", "c", "d"]
to_s
配列のすべての要素を文字列に接続
["a","e","i","o"].to_s » "aeio"