Ruby 1.9.0 > Home > All Libraries > library _builtin

組み込みライブラリ

Abstract

組み込みライブラリは Ruby 本体に組み込まれているライブラリです。 このライブラリに含まれるクラスやモジュールは、 require を書かなくても使うことができます。

Classes/Modules

object ARGF

スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名とみなして、 それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 ARGV が空なら標準入力を対象とします。 ARGV を変更すればこのオブジェクトの動作に影響します。

class Array

配列クラスです。 配列は任意の Ruby オブジェクトを要素として持つことができます。

class BasicObject

特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9.0以降で導入されました。

class Bignum

多倍長整数のクラスです。 演算の結果が Fixnum の範囲内の時には 自動的に Fixnum に変換されます。

class Binding

ローカル変数のテーブルと self、モジュールのネストなどの情報を保 持するオブジェクトのクラスです。

class Class

クラスのクラスです。

module Comparable

比較演算を許すクラスのための Mix-in です。このモジュールをインクルー ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい る必要があります。

class Data

拡張ライブラリを書く時に new が定義されているとまずい場合が あるため、Object から new と allocate を undef したクラスです。 Ruby レベルでは気にする必要は全くありません。

class Dir

ディレクトリ内の要素を順に返すディレクトリストリーム操作のためのクラスです。

object ENV

環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。

class Encoding
module Enumerable

繰り返しを行なうクラスのための Mix-in。このモジュールの メソッドは全て each を用いて定義されているので、インクルード するクラスには each が定義されていなければなりません。

class Enumerable::Enumerator

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。

module Errno

システムコールのエラーに対応する例外を集めたモジュールです。

class FalseClass

false のクラス。 false は FalseClass クラスの唯一のインスタンスです。 false は nil オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。

class Fiber

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

class File

ファイルアクセスのためのクラスです。

module File::Constants

File に関る定数を集めたモジュール。

class File::Stat

ファイルの情報を格納したオブジェクトのクラス。

module FileTest

ファイルの検査関数を集めたモジュールです。

class Fixnum

Bignum 同様、整数のクラスです。 演算の結果が Fixnum の範囲を越えた時には 自動的に Bignum に拡張されます。

class Float

浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環 境に依存します。

module GC

GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。

class Hash

ハッシュテーブル(連想配列とも呼ぶ)のクラス。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。

class IO

基本的な入出力機能のためのクラスです。

class Integer

整数の抽象クラス。サブクラスとして FixnumBignum があり ます。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されま す。ビット操作において整数は無限の長さのビットストリングとみなすことが できます。

module Kernel

全てのクラスから参照できるメソッドを定義しているモジュール。 Object クラスはこのモジュールをインクルードしています。

module Marshal

Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり する機能を提供するモジュール。

class MatchData

正規表現のマッチに関する情報を扱うためのクラス。

module Math

浮動小数点演算をサポートするモジュールです。

class Method

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

class Module

モジュールのクラスです。

class Mutex

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(mを Mutexオブジェクトとします):

class NilClass

nil のクラス。 nil は NilClass クラスの唯一のインスタンスです。 nil は false オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。

class Numeric

数値を表す抽象クラスです。FixnumFloat などの数値クラスは Numeric のサブクラスとして 実装されています。

class Object

全てのクラスのスーパークラス。 オブジェクトの一般的な振舞いを定義します。

module ObjectSpace

全てのオブジェクトを操作するためのモジュールです。

module Precision

精度をもつ具象数値クラスのためのモジュールです。

class Proc

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

module Process

UNIX のプロセスを管理するモジュールです。

module Process::GID

カレントプロセスのグループ ID を操作するためのモジュールです。

module Process::Status

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

module Process::Sys

ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。

module Process::UID

カレントプロセスのユーザ ID を操作するためのモジュールです。

class Range

範囲オブジェクトのクラス。範囲オブジェクトは範囲演算子 .. または ... によって生成されます。.. 演算子によって生成された範囲 オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェ クトは終端を含みません。

class Regexp

正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式 で記述します。

module Signal

UNIX のシグナル関連の操作を行うモジュールです。

class String

文字列のクラスです。 NUL 文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。

class Struct

構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。

class Struct::Tms

Process.#times の返り値を表現する構造体です。

class Symbol

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

class Thread

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

class ThreadGroup

スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。

class Time

時刻を表すクラスです。

class TrueClass

true のクラス。 true は TrueClass クラスの唯一のインスタンスです。 true は真を表す代表のオブジェクトです。

class UnboundMethod

レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。

Exception Classes

class ArgumentError

引数の数があっていないときや、値が正しくないときに発生します。

class EOFError

EOF(End Of File)に達したときに発生します。

class Errno::EXXX

システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。システムコールが失敗したときに発生します。

class Exception

全ての例外の祖先のクラスです。

class FiberError

Fiber に関するエラーが起きると発生します。

class FloatDomainError

正負の無限大や NaN (Not a Number) を Bignum に変換しようとしたり、 NaN との比較を行ったときに発生します。

class IOError

入出力でエラーが起きると発生します。

class IndexError

添字が範囲外のときに発生します。

class Interrupt

SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。

class KeyError

Hash#fetch などで key に対応する value がない場合に発生します。

class LoadError

Kernel.#requireKernel.#load が失敗したときに発生します。

class LocalJumpError

ある Proc オブジェクトの作成元スコープがすでに終了しているとき、 その Proc オブジェクト内で return, break, retry のいずれかを実行すると発生します。

class NameError

未定義のローカル変数や定数を使用したときに発生します。

class NoMemoryError

メモリの確保に失敗すると発生します。

class NoMethodError

定義されていないメソッドの呼び出しが行われたときに発生します。

class NotImplementedError

実装されていない機能が呼び出されたときに発生します。

class RangeError

範囲に関する例外クラスです。 値が定義域から外れているときに発生します。

class RegexpError

正規表現のコンパイルに失敗したときに発生します。

class RuntimeError

特定の例外クラスには該当しないエラーが起こったときに発生します。 また Kernel.#raise で例外クラスを指定しなかった場合も RuntimeError が発生します。

class ScriptError

スクリプトのエラーを表す例外クラスです。

class SecurityError

セキュリティ上の問題が起きたときに発生します。

class SignalException

捕捉していないシグナルを受け取ったときに発生します。

class StandardError

通常のプログラムで発生する可能性の高い 例外クラスを束ねるためのクラスです。

class StopIteration

イテレーションを止めるときに発生する例外です。

class SyntaxError

ソースコードに文法エラーがあったときに発生します。

class SystemCallError

Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。 システムコールの失敗した原因を表すエラーコードを保持します。

class SystemExit

Ruby インタプリタを終了させるときに発生します。

class SystemStackError

システムスタックがあふれたときに発生します。

class ThreadError

Thread 関連のエラーが起きたときに発生します。

class TypeError

不正な型の値を評価したときに発生します。

class ZeroDivisionError

整数に対して整数の 0 で除算を行ったときに発生します。

class fatal

インタプリタ内部で致命的なエラーが起こったときに発生します。