主要な標準クラス・メソッド

Stringクラス

Stringクラスは、文字列を扱うクラスです。

includeするモジュール:Comparableモジュール、Enumerableモジュール

インスタンスメソッド

+ other
文字列を連結した新しい文字列を生成し、それを返します。
<< other
文字列を追加します。selfの内容が変更されます。selfを返します。
<=> other
内容を比較します。比較はバイト単位で行われ、アルファベットの大文字・小文字、全角・半角は区別されます。
== other
内容が一致している場合はtrueを返します。アルファベットの大文字・小文字、全角・半角は区別されます。
=~ pattern
patternが含まれるかどうかを調べます。patternが文字列の場合はindex(pattern)と同じです。patternが正規表現オブジェクトの場合は、パターンマッチングを行います。
[n]
n番目の1バイトの文字コードを返します(戻り値は整数)。文字を取り出すわけではないことに注意。nは、先頭が0です。
[n, length]
n番目から長さlengthバイトの部分文字列を新たに生成して、それを返します。nが範囲外を指す場合は、nilを返します。
[n] = value
valueが文字列の場合、n番目の1バイトをvalueに置き換えます。valueが数値の場合、文字コードと見なして文字に変換し、n番目の1バイトをその文字に置き換えます。
[n, length] = value
n番目から長さlengthバイトをvalueに置き換えます。valueの扱いは1バイトのときと同じです。
gsub(pattern, replace)
patternにマッチする部分をすべてreplaceに置き換えた新しい文字列オブジェクトを生成し、それを返します。patternは文字列(単純検索する)または正規表現オブジェクトです。$KCODEが設定されていれば、指定された文字コードに従って文字を意識します。
gsub!(pattern, replace)
gsub()と同じですが、selfを変更します。
index(pattern [, pos])
位置posからpatternを検索します。見つかった場合はその位置を、見つからなかった場合はnilを返します。
length()
内容の長さ(バイト数)を返します。
split(sep [, limit])
文字列をsepで区切ってその結果を配列で返します。sepは文字列か正規表現オブジェクトです。sepが正規表現オブジェクトでパターンに括弧が含まれている場合、括弧内のパターンにマッチした文字列も結果の配列の要素となります。引数limitを指定する場合、文字列を最大でlimit個に分割します。$KCODEが正しく設定されていれば、文字を意識します。
strip()
先頭と末尾の空白文字(\t\r\n\f\v)を削除した新しい文字列オブジェクトを生成し、それを返します。
strip!()
strip()と同じですが、selfを変更します。
to_i([base = 10])
baseを基数(省略時は10進数)として文字列を数値に変換します。

Comparableモジュール

Comparableモジュールは、比較機能を提供します。Comparableをincludeするクラスは、<=>メソッドを持たなければなりません。

インスタンスメソッド

< other
selfがotherより小さいとき、真を返します
<= other
selfがotherと等しいか小さいとき、真を返します
== other
selfとotherとが等しいとき、真を返します
> other
selfがotherより大きいとき、真を返します
>= other
selfがotherと等しいか大きいとき、真を返します
between?(min, max)
selfがmin以上max以下のとき、真を返します

Enumerableモジュール

Enumerableモジュールは、繰り返しに関する機能を提供します。Enumerableをincludeするクラスは、eachメソッドを持たなければなりません。

インスタンスメソッド

all? {|element| ... }
すべてのelementについてブロックの評価結果が真の場合に、trueを返します。
any? {|element| ... }
一つでもブロックの評価結果が真の場合に、trueを返します。
each_with_index {|element, index| ...}
要素とインデックスの両方を与えるイテレータ
max()
最大の要素を返します
min()
最小の要素を返します
sort {|a, b| ... }
すべての要素を昇順に並べ替えた配列を新たに生成して、それを返します。sortに与えるブロックでは、a、bの比較結果を返します。比較結果が同じ要素の順序は不定です(安定ではない)。

Arrayクラス

Arrayクラスは、配列を扱うクラスです。

includeするモジュール:Enumerableモジュール

インスタンスメソッド

+ other_ary
配列other_aryの内容を連結した新しい配列を生成し、それを返します。
<< obj
objを配列の末尾に追加します。push(obj)と同じです。selfを返します。
[n]
n番目の要素を返します。先頭の要素が0番目です。n番目の要素が存在しない場合はnilを返します。
[n] = value
n番目の要素をvalueに設定します。nが配列の現在の大きさを超える場合は、配列を自動的に拡張し、拡張した部分にnilを設定します。valueを返します。
delete_if {|x| ... }
要素を順番にブロックに渡して評価し、その結果が真である要素をすべて削除します。selfを返します。
each {|item| ... }
すべての要素についてブロックを評価します。selfを返します。
empty?
要素数が0のとき、真を返します。
first
配列の先頭の要素を返します。配列の大きさが0であれば、nilを返します。
join(sep = $,)
配列のすべての要素を文字列sepを間に挟んで連結した文字列を生成し、それを返します。
length
配列の大きさを返します。
map {|item| ...}
各要素をブロックに渡して評価し、その結果を要素とする新しい配列を生成し、それを返します。
map! {|item| ... }
各要素をブロックに渡して評価し、その結果でselfの要素を置き換えます。selfを返します。
pop
末尾の要素を取り除いて、それを返します。配列が空だったときはnilを返します。
push(obj1, obj2, ...)
obj1, obj2, ...を順番に配列の末尾に追加します。selfを返します。
reverse_each {|item| ... }
配列の後ろから順番に、各要素に対してブロックを評価します。selfを返します。
shift
配列の先頭の要素を配列から取り除いて、それを返します。残りの要素は一つずつ前に詰められます。配列の大きさが0のときは、nilを返します。
sort {|a, b| ...}
配列の内容をソートした新しい配列を生成し、それを返します。ブロックに二つの要素を与えて評価し、その結果に基づいて並べ替えを行います。
sort! {|a, b| ...}
sort()と同じですが、selfを変更します。
unshift(obj1, obj2, ...)
obj1、obj2、...を順番に配列の先頭に挿入します。selfを返します。

Hashクラス

Hashクラスは、ハッシュ(連想配列)を扱うクラスです。

includeするモジュール:Enumerableモジュール

インスタンスメソッド

[key]
keyに関連付けられた値を返します。keyが登録されていない場合は、nilを返します。
[key] = value
keyに対してvalueを関連付けます。valueを返します。
delete(key)
keyに対する関連を取り除きます。keyが登録されている場合は関連する値を、そうでない場合はnilを返します。
each {|key, value| ... }
すべての組について、keyとvalueを引数としてブロックを評価します。selfを返します。
each_key {|key| ... }
すべてのキーについて、keyを引数としてブロックを評価します。selfを返します。
has_key?(key)
キーkeyがあれば真を返します。
keys
すべてのキーを要素とする配列を生成し、それを返します。
length
ハッシュの要素数を返します。
to_a
[[key1, value1], [key2, value2], ...]という形の配列を生成し、それを返します。

Timeクラス

Timeクラスは、(日付を含む)時刻を扱うクラスです。

includeするモジュール:Comparableモジュール

クラスメソッド

local(year [, mon [, day [, hour [, min [, sec [, usec]]]]]])
地方時の時刻を保持するTimeオブジェクトを生成し、それを返します。
local(sec, min, hour, mday, mon, year, dummy, dummy, isdst, dummy)
地方時の時刻を保持するTimeオブジェクトを生成し、それを返します。dummyの値は無視されます。引数の数が10個の場合のみ引数の解釈が変わります注1
now
現在時刻を保持するTimeオブジェクトを生成し、それを返します。地方時です。
utc(year [, mon [, day [, hour [, min [, sec [, usec]]]]]])
UTCによる時刻を保持するTimeオブジェクトを生成し、それを返します。
utc(sec, min, hour, mday, mon, year, dummy, dummy, isdst, dummy)
UTCによる時刻を保持するTimeオブジェクトを生成し、それを返します。dummyの値は無視されます。引数の数が10個の場合のみ、引数の解釈が変わります。
注1 通常は、こういう場合はメソッド名を別にするものなのですが・・・ なぜこういう設計にしたのでしょう?

インスタンスメソッド

+ sec
sec秒だけ後の時刻を表すTimeオブジェクトを生成し、それを返します。secには実数も受け付けます。
- other
otherがTimeオブジェクトの場合、時刻の差をFloatオブジェクトで返します。otherが数値の場合はother秒だけ前の時刻表すTimeオブジェクトを返します。
<=> other
otherがTimeオブジェクトの場合、時刻を比較します。otherが数値の場合、otherをUNIX epochからの経過秒数とみなして比較します。
day
日を返します。
getlocal
selfと同じ時刻を表す、地方時に設定されたTimeオブジェクトを新しく生成して、それを返します。
getutc
selfと同じ時刻を表す、UTCに設定されたTimeオブジェクトを新しく生成して、それを返します。
hour
時を返します。
min
分を返します。
mon
月を返します。
sec
秒を返します。
strftime(format)
時刻をformat文字列にしたがって整形します。format文字列については、リファレンスマニュアルを参照してください。
usec
マイクロ秒を返します。
wday
曜日を表す数字(0〜6)を返します。日曜日が0となります。
year
年を返します。

Dateクラス

Dateクラスは、日付を扱うクラスです。require "date"する必要があります。

includeするモジュール:Comparableモジュール

クラスメソッド

exist?(year, month, day, start = ITALY)
正しい日付であれば、その日付を表すユリウス日を返します。そうでないなら、偽を返します。new1()メソッドでユリウス日からDateオブジェクトを生成できます。
new(year, mon, day, start = ITALY)
新しいDateオブジェクトを生成します。省略可能な引数startは、グレゴリオ暦の始まった日をユリウス日で与えます。
new1(jd, start = ITALY)
ユリウス日jdを表現するDateオブジェクトを生成します。
today(start = ITALY)
今日を表すDateオブジェクトを生成します。

インスタンスメソッド

+ n
n日後を表す日付オブジェクトを生成し、それを返します。nは数値でなければなりません。
- other
otherが日付オブジェクトなら、selfとの差を返します。otherが数値なら、selfよりother日前の日付を返します。
<< n
nヶ月前の同日の日付オブジェクトを返します。nは数値でなければなりません。存在しない日になる場合は、その月の最終日を表す日付オブジェクトが返されます。
>> n
nヶ月後の同日の日付オブジェクトを返します。nは数値でなければなりません。存在しない日となる場合は、その月の最終日となります(翌月の1日ではない)。
cweek
暦週を返します(1から53)。第1週は、1年の最初の木曜日を含む週です。これは1月4日を含む週でもあります。
day
日を返します。
jd
ユリウス日を返します。
leap?
閏年なら真を返します。
mon
月を返します。
wday
曜日を返します。0から6、日曜日は0
year
年を返します。

Fileクラス

Fileクラスは、ファイル名の操作やファイル検査など、ファイルに特化した機能を提供します。入出力のためのメソッドは、IOクラスで定義されています。

ファイルが存在するかの確認などはFileTestモジュールを使います。また、ファイル移動などはfileutils.rbライブラリを使います。

スーパークラス:IOクラス
includeするモジュール:File::Constantsモジュール

クラスメソッド

basename(filename [, suffix])
filenameに含まれる一番後ろの「/」(スラッシュ)に続く文字列を返します。suffixが与えられて、かつfilenameの末尾に一致するなら、それを取り除いたものを返します。
dirname(filename)
filenameに含まれる一番後ろのスラッシュより前の文字列を返します。スラッシュが含れない場合は、"."を返します。
ftype(filename)
ファイルの種類を表す文字列を返します。"file" "directory" "characterSpecial" "blockSpecial" "fifo" "link" "socket"のいずれかです。
open(path, mode = "r", perm = 0666)
ファイルを開きます。Fileオブジェクトを返します。permを指定すると、(perm & ~umask)がファイルパーミションとなります。
open(path, mode = "r", perm = 0666) {|fp| ...}
ファイルを開きます。ブロック引数としてFileオブジェクトを渡し、ブロックから抜けるときにファイルを閉じます。
stat(filename)
filenameで指定されたファイルの情報を含むFile::Statオブジェクトを生成して、それを返します。

インスタンスメソッド

flock(op)
ファイルをロックします。ロックに失敗したときは例外を投げます。opは、File::LOCK_SH、File::LOCK_EX、File::LOCK_UN、File::LOCK_NBをビットORで組み合わせます。
truncate(length)
ファイルの長さをlengthバイトに切り詰めます。ファイルが書き込み可能でない場合、あるいは失敗した場合は例外が発生します。

IOクラス

IOクラスは、入出力に関するクラスです。

includeするモジュール:Enumerableモジュール

インスタンスメソッド

close
入出力ストリームを閉じる
gets
1行読み込んでその文字列を返します。戻り値には行末の改行文字が含まれます。ファイルの終わりでさらに読み込もうとすると、nilを返します。
print([arg, ...])
arg, ...を左から順に出力します。引数を省略した場合は$_の内容を出力します。nilを返します。
printf(format[, arg, ...])
formatに従ってarg, ...を整形し、出力します。nilを返します。
puts([arg, ...])
それぞれのarg, ...の後ろに改行文字を付けて出力します。
read([length])
lengthバイト読み込みます。lengthを省略すると、ストリームの終端まで読み込みます。
rewind
読み書き位置をストリームの先頭に設定します。ファイルが追記モードで開かれている場合、書き込みは、読み書き位置にかかわらず、ファイル末尾に行われます。