Google

- - 目次

組込み変数



$!

最近の例外に関する情報. raise によって 設定されます.

$@

例外が発生した時バックトレースが配列としてが格納されます. 配列の各要素はメソッドの呼び出し位置を示す文字列で形式は

"filename:line"
または
"filename:line:in `methodname'"
です. (覚え方: where exception occurred at.)

$&

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 文字列.最後のマッチが失敗していた場合にはnil. (覚え方: いくつかのエディタでの& と同じ)

$`

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より前の文字列.最後のマッチが失敗していた場合にはnil. (覚え方: `は文字列の前に置かれる)

$'

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より後ろの文字列.最後のマッチが失敗していた場合にはnil. (覚え方: 'は文字列の後 ろに置かれる)

$+

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

$1, $2...

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

$~

現在のスコープで最後に成功したマッチに関する情報.これを設定 すると$&`$1...$9'などの値が変化します. このデータからn番目のマッチ($n)を取り出すためには $~[n]で参照できます. (覚え方: ~ はマッチに使われる)

この変数はローカルスコープです.

$=

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

$/

入力レコードセパレータ.デフォルトは"\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. のデフォルトの区切り文字.

$.

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

$<

引数(なければ標準入力)で構成される仮想ファイル.つまり 定数ARGFの別名. (覚え方: <はシェルの入力元指定)

$>

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

$_

最後にgetsまたはreadlineで読み込んだ文字列. EOF に達した場合には、nil.この変数はローカルスコープです. (覚え方: Perlと同じ)

$0

現在実行中のRubyスクリプトの名前.OSによってはこの変数に代入すると 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

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

$LOAD_PATH

$:の別名.

$stdin

標準入力.

$stdout

標準出力.

$stderr

標準エラー出力.

$VERBOSE

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

$KCODE

Rubyの処理する文字コード. 文字列で指定し,`E'または`e'の場 合は文字列やアクセスするファイルの内容のコードがEUCであると 仮定します.同様に`S'または`s'の場合はSJISとして処理します. `U'または`u'の場合はUTF-8として処理します. `N'または`n'の場合は漢字を処理しません. コンパイル時の設定でデフォルトが決まります.

オプション変数

Rubyインタプリタのコマンドライン情報を示す一連の変数がありま す.形式は$-?で?の部分にオプションの一文字が入 ります.

$-0

$/の別名.

$-a

-aが指定されている時,真.リードオンリー変数.

$-d

$DEBUGの別名.

$-F

$;の別名.

$-i

-iが指定されている時,拡張子を表す文字列を格 納します.指定されていない時の値はnilです.スク リプト内で代入することもでき,その場合は ARGVの次のファイルを読み込み始めるタイミン グでin-place置換を開始します.

$-I

$:の別名.

$-K

$KCODEの別名.

$-l

-lが指定されている時,真.リードオンリー変数.

$-p

-pが指定されている時,真.リードオンリー変数.

$-v

$VERBOSEの別名.


組込み定数



TRUE

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

FALSE

偽の値

NIL

nil.

STDIN

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

STDOUT

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

STDERR

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

ENV

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

ARGF

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

ARGV

$*と同じ

DATA

スクリプトの__END__以降をアクセスするファイルオ ブジェクト.スクリプトがファイルに格納されていない時には定義 されない.

RUBY_VERSION

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

RUBY_RELEASE_DATE

Rubyのリリース日を示す文字列.

RUBY_PLATFORM

プラットフォームを示す文字列.


- - 目次

matz@netlab.co.jp