Rubyよく使用するメソッド一覧
Integerクラス
基本的な算術演算
+,-,*,/,%:加算、減算、乗算、除算、剰余**:べき乗計算div:整数除算fdiv:浮動小数点数での除算divmod:商と余りの配列を返すremainder:除算の剰余を返す
数値の比較と検証
==,<,>,<=,>=:比較演算zero?:ゼロかどうかを判断even?,odd?:偶数か奇数かを判断prime?:素数かどうかを判断(require 'prime'が必要)
数値の変換と表現
to_s:文字列への変換to_i,to_int:整数への変換(自身を返す)to_f:浮動小数点数への変換to_r:数値を有理数(Rational)に変換するchr:ASCII文字への変換digits:基数に基づいて数値を桁ごとの配列に分解
数値のプロパティとサイズ
数値の範囲と繰り返し
ビット操作
数学関連
gcd,lcm:最大公約数、最小公倍数gcdlcm:最大公約数と最小公倍数の配列を返すround,ceil,floor:指定された桁で四捨五入、切り上げ、切り捨てtruncate:数値を整数に切り捨てる
Stringクラス
文字列の操作と変更
+,<<,concat:文字列の連結*:文字列の繰り返し[],slice,byteslice:部分文字列の取得insert:指定した位置に文字列を挿入prepend,append:文字列の先頭,最後に別の文字列を追加replace:文字列の内容を置き換えるclear:文字列の内容をクリアdelete,delete_prefix,delete_suffix:特定の文字や接頭辞/接尾辞を削除chomp,chop:末尾の改行文字や末尾の文字を取り除くstrip,lstrip,rstrip:前後の空白を取り除くstrip!,lstrip!,rstrip!:前後の空白を破壊的に削除squeeze,squeeze!:連続する文字を圧縮、破壊的に圧縮
文字列のフォーマット
capitalize,downcase,upcase,swapcase:文字列の大文字小文字の変換capitalize!,downcase!,upcase!,swapcase!:大文字小文字の破壊的変換center,ljust,rjust:文字列の整形(中央揃え、左揃え、右揃え)
文字列の検索と比較
include?:特定の文字列が含まれているかどうかを判断start_with?,end_with?:特定の文字で始まる、または終わるかを判断index,rindex:部分文字列の位置を検索casecmp,casecmp?:大文字小文字を区別しない比較
正規表現と文字列の置換
match,match?:正規表現によるマッチングgsub,sub,gsub!,sub!:部分文字列の置換、破壊的置換substr:部分文字列の抽出scan:正規表現によるスキャンpartition,rpartition:指定した文字で前後に分割
文字列の解析と変換
to_i,to_f,to_c:数値、浮動小数点数、複素数への変換to_sym,to_s,intern:シンボルや文字列への変換bytes,chars,codepoints,lines:バイト、文字、コードポイント、行の配列を返すeach_byte,each_char,each_codepoint,each_line:それぞれバイト、文字、コードポイント、行単位での繰り返し処理split:指定した文字で分割unpack,unpack1:バイナリデータを配列に展開
文字列のプロパティとその他の機能
length,size:文字列の長さを返すempty?:文字列が空かどうかを判断hash:文字列のハッシュ値を返すencoding:文字列のエンコーディングを返すvalid_encoding?:文字列のエンコーディングが有効かどうかを判断ascii_only?:文字列がASCII文字のみかどうかを判断reverse:文字列を逆順にするsum:文字のバイト値の総和を返す
Arrayクラス
要素の追加と削除
<<: 配列の末尾に要素を追加push: 配列の末尾に一つ以上の要素を追加pop: 配列の末尾から要素を取り除き、その要素を返すshift: 配列の先頭から要素を取り除き、その要素を返すunshift: 配列の先頭に一つ以上の要素を追加insert: 指定した位置に要素を挿入delete: 指定した値を持つ要素をすべて削除delete_at: 指定したインデックスの要素を削除delete_if,reject!: ブロックの条件に合う要素を削除compact,compact!: nil要素を削除
アクセスと検索
[],slice: 指定された範囲またはインデックスの要素を取得at: 指定したインデックスの要素を取得fetch: 指定したインデックスの要素を取得し、存在しない場合は例外を発生させるfirst: 配列の最初の要素を返すlast: 配列の最後の要素を返すindex,find_index: 指定した値に一致する最初の要素のインデックスを返すrindex: 指定した値に一致する最後の要素のインデックスを返すinclude?: 指定した要素が含まれているかどうかを判断
配列の操作と変換
map,map!: 各要素に対してブロックを実行した結果を返すcollect,collect!: 各要素に対してブロックを実行した結果を返すselect,select!: 条件に合う要素を選択filter,filter!: 条件に合う要素を選択reject,reject!: 条件に合わない要素を選択flatten,flatten!: 配列を平坦化するreverse,reverse!: 配列の要素の順序を逆にするrotate,rotate!: 配列の要素をローテーションするshuffle,shuffle!: 配列の要素をランダムに並べ替えるsort,sort!,sort_by: 配列をソートするuniq,uniq!: 重複する要素を削除
クエリとその他の情報
empty?: 配列が空かどうかを判断length,size: 配列の長さ(要素数)を返すcount: 条件に合う要素の数をカウントsum: 要素の合計を計算
配列の結合と分割
ブロックとイテレータ
each: 各要素に対してブロックを実行each_index: 各要素のインデックスに対してブロックを実行each_with_index: 各要素とそのインデックスに対してブロックを実行each_with_object: 各要素と与えられたオブジェクトに対してブロックを実行combination: 要素の組み合わせを生成permutation: 要素の順列を生成product: 他の配列との直積を生成repeated_combination,repeated_permutation: 重複を許して組み合わせや順列を生成
Hashクラス
要素の追加と削除
[],store: キーに対応する値を設定delete: 指定したキーを持つ要素を削除delete_if,reject!: ブロックに基づいて要素を削除clear: すべての要素を削除
アクセスと検索
[]: 指定されたキーの値を取得fetch: 指定したキーの値を取得し、キーが存在しない場合は例外を発生させるかデフォルト値を返すkey,index: 指定された値に対応する最初のキーを返すkeys: すべてのキーを配列で返すvalues: すべての値を配列で返すhas_key?,key?,include?,member?: 指定したキーが存在するかどうかを判断has_value?,value?: 指定した値が存在するかどうかを判断
ハッシュの操作と変換
invert: キーと値を逆転させた新しいハッシュを作成merge,merge!: 他のハッシュと統合update:merge!と同じtransform_keys,transform_keys!: キーを変換transform_values,transform_values!: 値を変換
クエリとその他の情報
empty?: ハッシュが空かどうかを判断length,size: 要素数を返すeach: キーと値のペアに対してブロックを実行each_key: 各キーに対してブロックを実行each_value: 各値に対してブロックを実行each_pair:eachと同じ(キーと値のペアに対してブロックを実行)
セットとゲット
default: デフォルト値を返す(キーが見つからない場合)default,default_proc: デフォルト値またはデフォルトプロックを設定・取得
ブロックとイテレータ
each_key: すべてのキーに対して繰り返し処理each_value: すべての値に対して繰り返し処理each_pair: キーと値のペアに対して繰り返し処理
Rangeクラス
範囲の生成と情報
new: 新しい範囲オブジェクトを生成begin,first: 範囲の始点を返すend,last: 範囲の終点を返すexclude_end?: 終点を範囲に含めないかどうかを判断
範囲のクエリ
include?,member?: 指定した値が範囲内にあるかどうかを判断cover?: 指定した値が範囲内にあるかどうかを判断(より広い意味で)min,max: 範囲の最小値、最大値を返すminmax: 範囲の最小値と最大値の配列を返す
範囲の変換
to_a: 範囲を配列に変換to_s: 範囲を文字列に変換inspect: 範囲の文字列表現を返す
範囲の反復処理
each: 範囲内の各要素に対してブロックを実行step: 指定されたステップごとに繰り返し処理bsearch: 二分探索を用いて範囲内の要素を検索
比較
==: 他の範囲と等しいかどうかを判断===: 指定した値が範囲に含まれるかどうかを判断(ケースイコール)
Enumerableモジュール(Arrayクラス、Hashクラス)
all?: ブロックの条件をすべての要素が満たすかどうかを判断any?: ブロックの条件をいずれかの要素が満たすかどうかを判断find,detect: 条件に合う最初の要素を返すfind_all,select: 条件に合うすべての要素を返すnone?: ブロックの条件をどの要素も満たさないかどうかを判断one?: ブロックの条件をちょうど一つの要素だけが満たすかどうかを判断max,min: 最大値、最小値を返すmax_by,min_by: ブロックの戻り値に基づいて最大、最小の要素を返すreduce,inject: 累積的に値を計算group_by: ブロックの戻り値に基づいてグループ化sort_by: ブロックの戻り値に基づいてソートeach_cons,each_slice: 連続する要素やスライスごとに繰り返し処理
