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"