はじめに
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 | 各要素をブロックに持って繰り返しループ |
とても疲れました...