- - 目次

組込み変数



$!
最も最近の例外に関する情報. fail によって 設定されます.
$@
例外が発生した時バックトレースが配列としてが格納される. 配列の各要素はメソッドの呼び出し位置を示す文字列で形式は
"filename:line"
または
"filename:line:in `methodname'"
である. (覚え方: where exception occurred at.)

$&
現在のスコープで最も最近の正規表現のパターンマッチでマッチし た文字列.(覚え方: いくつかのエディタでの& と同じ)

$`
現在のスコープで最も最近の正規表現のパターンマッチでマッチし た部分より前の文字列.(覚え方: `は文字列の前に 置かれる)

$'
現在のスコープで最も最近の正規表現のパターンマッチでマッチし た部分より後ろの文字列.(覚え方: 'は文字列の後 ろに置かれる)

$+
現在のスコープで最も最近の正規表現のパターンマッチでマッチし た中で最後の括弧に対応する部分文字列.いくつかある選択型のパ ターンのどれがマッチしたのか分からない時に便利(覚え方: be positive and forward looking.)

$1, $2...
最後に成功したパターンマッチでn番目の括弧にマッチした値が格 納されます.該当する括弧がなければnilが入ってい ます.(覚え方: \数字 のようなもの)

$~
現在のスコープで最後に成功したマッチに関する情報.これを設定 すると$&`$1...$9'などの値が変化します. (覚え方: ~ はマッチに使われる)

$=
パターンマッチや文字列の比較でアルファベットの大文字小文字を 区別するかどうかのフラグ.デフォルトは偽.(覚え方: = は比較 に使われる)

$/
入力レコードセパレータ.デフォルトは"\n"awkのRS変数のように働きます.この変数にnilを設 定するとファイル全体を一度に読み込みます.$/に は正規表現は使えません.(覚え方: 詩では / を行の区切りに使い ます)

$\
出力レコードセパレータ.この変数に文字列を指定すると IO#writeprintの度に最 後にこの文字列を付加して出力します.デフォルトは nilでこの場合なにも追加しません. (覚え方: It's just like /, but it's what you get "back" from Ruby.)

$,
Array#joinのデフォ ルトの区切り文字列. printの各引数 の間に出力される文字列. (覚え方: print で , があるところで出力される)

$;
String#split. のデフォルトの区切り文字.

$.
最後に読んだ入力ファイルの行番号.

$<
引数(なければ標準入力)で構成される仮想ファイル.つまり gets$<.getsと同じ意味です. $<.fileで現在読み込み中のファイルオブジェク トが,$<.filenameで現在読み込み中のファイル 名が得られます.(覚え方: <はシェルの入力元 指定)

$>
printのデフォルト の出力先.初期値はSTDOUT`-i'オプ ションを指定した場合には読み込み元と同じ名前のファイル.(覚 え方: >はシェルの出力先指定)

$_
最後にgetsなどで読み込んだ文字列.この変数はロー カルスコープです.(覚え方: Perlと同じ)

$0
現在実行中のrubyスクリプトの名前.この変数に代入すると ps(1)の出力が変化します.この機能はプログラムの 現在の状態を表示するのに便利です.(覚え方: sh や kshと同じ)

$*
rubyスクリプトに与えられた引数.ruby自身に対する引数は取り除 かれています.(覚え方: sh や kshと同じ)

$$
現在実行中のrubyプロセスのpid.(覚え方: シェルと同じ)

$?
(このthreadで)最後に実行した子プロセスのstatus.

$:
loadrequire がファイルをロードする時に検索するディレクトリのリストを含む 配列. 起動時には, -Iオプションで指定し たディレクトリ,環境変数RUBYLIBの値,デフォルト値 (コンパイル時に指定する,多くの場合 "/usr/local/lib/ruby"), "."(カレントディレクトリ)を値として持ちます. (覚え方: コロンは環境変数PATHの区切り文字である)

$"
requireでロー ドされたファイル名を含む配列. requireで同 じファイルを2回ロードしないために用いられています.(覚え方: prevent files to be doubly quoted(loaded))
$DEBUG
-dフラグの状態 (真偽値).

$FILENAME
仮想ファイル$<で現在読み込み中の(メソッド getsが今読んでいる)ファイル名.$<.filename と同じ.

$LOAD_PATH
$:の別名

$stdin
標準入力

$stdout
標準出力

$stderr
標準エラー出力

$VERBOSE
冗長メッセージフラグ.rubyインタプリタへの -vオプション でセットされます.

$KCODE
rubyの処理する漢字コード. 文字列で指定し,`E'または`e'の場 合は文字列やアクセスするファイルの内容のコードがEUCであると 仮定します.同様に`S'または`s'の場合はSJISとして処理します. `N'は漢字を処理しません.デフォルトはEUCです.

この変数は日本語化ruby固有の変数です.


組込み定数



TRUE
代表的な真の値.Rubyでは偽でない値(FALSEでもnilでもない値)は 全て真とみなされます.

FALSE
偽の値

STDIN
標準入力. $stdinのデフォルト値

STDOUT
標準出力.$stdoutのデフォ ルト値

STDERR
標準エラー出力.$stderrr のデフォルト値

ENV
環境変数を表す連想配列.この連想配列の値を変更すると子プロセ スの環境として引き継がれます.

ARGF
$<と同じ

ARGV
$*と同じ

VERSION
Rubyのバージョンを示す文字列


- - 目次

matz@caelum.co.jp