#はじめに
Array系のメソッド多すぎて忘れてしまうので,忘備録としてまとめました
メソッドの逆引きなどにご利用ください
自分にとって覚えやすい9つのグループに分けてます
-
『定義系』
コンストラクタです -
『プロパティ系』
その配列に関しての状態が返るメソッドです -
『先頭,末端の操作系』
配列の先頭や末端の出し入れ関係のメソッドです
下のグループのそれぞれとかぶってますが,個人的にまとめたい物だったので別にしています -
『要素の抜き出し系』
配列の中身を変えずに要素を参照するメソッドです -
『要素の並び替え系』
ソートなど配列に要素を挿入削除せずに並び替えるメソッドです -
『クラスの変換系』
他のクラスに変換するものです -
『配列変換系』
配列の要素から様々な形に変換するメソッドです -
『要素書き換え系』
要素を書き換えるメソッドです -
『ループ系』
各要素ごとに処理を行いたいときに使うメソッドです
##注意
- 簡潔に書きたいので,使えるversionや細かい説明,破壊的な定義,引数,使用例などは省略しています.気になる方は各自調べてください
- よく使うものやArrayとの比較のためにEnumerableなどの他クラスメソッドも一部入れてます
- ここに載せているメソッドだけが全てではありません.特に廃止されたメソッドは入れてません
- グループ分けも複数のグループに該当する場合がありますが,そこは私ルール**(超適当)**で分けてます
- 何か要望がありましたら,コメントや編集リクエストお願いします.記事主が泣いて喜びます
#定義系
メソッド | 説明 |
---|---|
[] | コンストラクタ |
new | コンストラクタ |
#プロパティ系
メソッド | 説明 |
---|---|
empty? | 配列が空か |
eql? | キーとして同じか |
equal? | 同じオブジェクトか |
== | 配列の値が等しいか |
<=> | 配列を順序を比較 |
frozen? | 配列が凍結されているか |
include? | 引数が要素に含まれるか |
all? | 全て引数の要素か |
any? | 一部引数の要素か |
one? | 一つ引数の要素か |
none? | 引数の要素を含まないか |
size | 配列全体の要素の数を返す |
length | 配列全体の要素の数を返す |
count | 条件を満たす要素の数を返す |
hash | ハッシュ値を返す |
#先頭,末端の操作系
メソッド | 説明 |
---|---|
first | 先頭の要素を調べる |
unshift | 先頭から要素を追加 |
shift | 先頭の要素を削除 |
last | 末端の要素を調べる |
push | 末端から要素を追加 |
<< | 末端から要素を追加 |
concat | 末端から配列を追加 |
+ | 末端から配列を追加 |
pop | 末端の要素を削除 |
take | 先頭から複数要素を抜き出し |
take_while | 先頭から条件を満たさなくなるまで要素を取り出す |
drop | 先頭から複数要素を除いて抜き出し |
drop_while | 先頭から条件を満たさなくなるまで要素を除いて取り出す |
#要素の抜き出し系
メソッド | 説明 |
---|---|
[] | 引数の位置の要素を取り出す(個別/範囲) |
slice | 引数の位置の要素を取り出す(個別/範囲) |
at | 引数の位置の要素を取り出す(個別のみ) |
fetch | 引数の位置の要素を取り出す(範囲外でdefault) |
values_at | 引数の位置の要素を取り出す(複数指定可) |
select | 条件を満たす要素を取り出す |
reject | 条件を満たさない要素を取り出す |
sample | 要素をランダムに返す |
assoc | キーを元に配列の配列から配列を取り出す |
rassoc | キーの値を元に配列の配列から配列を取り出す |
##検索系
メソッド | 説明 |
---|---|
index | 要素の位置を調べる |
find_index | 要素の位置を調べる |
rindex | 末尾から要素の位置を調べる |
#要素の並び替え系
メソッド | 説明 |
---|---|
sort | 配列をソート |
sort_by | 返り値でソート |
reverse | 配列の順番を反転 |
rotate | 引数だけ順番を移動 |
shuffle | 要素をシャッフル |
#クラスの変換系
メソッド | 説明 |
---|---|
to_a | レシーバ自身を返す(サブクラスなら新しく作成) |
to_ary | レシーバ自身を返す |
to_s | 文字列に変換 |
join | 要素を結合して文字列に変換 |
inspect | 出力時に読みやすい形式に変換 |
#配列変換系
メソッド | 説明 |
---|---|
flatten | 配列を平坦化 |
zip | 複数の配列の要素の組み合わせを作る |
transpose | 行と列を入れ替える |
pack | 配列からバイナリデータに変換 |
permutation | 配列の順列要素の配列を作る |
repeated_permutation | 配列の順列要素の配列を作る |
combination | 自身の要素の組み合わせの順列要素の配列を作る |
product | 複数の配列の要素の組み合わせの配列を作る |
repeated_combination | 組み合わせの順列要素の配列を作る |
* | 配列を引数回繰り返した配列を作る |
#要素書き換え系
メソッド | 説明 |
---|---|
[]= | 指定した要素を置換 |
map | 要素を返り値に変換 |
clear | 配列を空にする |
fill | 配列を引数で埋める |
replace | 配列を変更 |
insert | 要素を挿入 |
delete | 要素を削除 |
delete_at | 指定された要素を削除 |
delete_if | 条件に合わない要素を削除 |
compact | nilの要素を削除 |
uniq | 重複する要素を削除 |
keep_if | 条件にあわない要素を削除 |
& | 積集合(両方に含む要素)の配列を作る |
- | 差集合(右辺の要素を抜いた)の配列を作る |
| | 和集合(どちらかに含む要素)の配列を作る |
#ループ系
メソッド | 説明 |
---|---|
each | 各要素をブロックに持ってループ |
each_index | 各要素と添字をブロックに持ってループ |
each_with_index | 各要素と添字をブロックに持ってループ |
reverse_each | 各要素をブロックに持って逆順でループ |
cycle | 各要素をブロックに持って繰り返しループ |
とても疲れました...