$!
-
最近の例外に関する情報.
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#write
や
print
の度に最
後にこの文字列を付加して出力します.デフォルトは
nil
でこの場合なにも追加しません.
(覚え方: It's just like /, but it's what you get "back" from
Ruby.)
$,
-
Array#join
のデフォ
ルトの区切り文字列.
print
の各引数
の間に出力される文字列.
(覚え方: print で , があるところで出力される)
$;
-
String#split
.
のデフォルトの区切り文字.
$.
-
最後に読んだ入力ファイルの行番号.
$<
-
引数(なければ標準入力)で構成される仮想ファイル.つまり
定数ARGFの別名.
(覚え方: <
はシェルの入力元指定)
$>
-
print
や
printf
のデフォルト
の出力先.初期値はSTDOUT
.`-i'オプ
ションを指定した場合には読み込み元と同じ名前のファイル.(覚
え方: >
はシェルの出力先指定)
$_
-
最後にgets
またはreadline
で読み込んだ文字列.
EOF に達した場合には、nil.この変数はローカルスコープです.
(覚え方: Perlと同じ)
$0
-
現在実行中のRubyスクリプトの名前.OSによってはこの変数に代入すると
ps(1)の出力が変化します.この機能はプログラムの
現在の状態を表示するのに便利です.(覚え方: sh や kshと同じ)
$*
-
Rubyスクリプトに与えられた引数.Ruby自身に対する引数は取り除
かれています.(覚え方: sh や kshと同じ)
$$
-
現在実行中のRubyプロセスのpid.(覚え方: シェルと同じ)
$?
-
(このthreadで)最後に実行した子プロセスのstatus.
$:
-
load
や
require
がファイルをロードする時に検索するディレクトリのリストを含む
配列.
起動時には,
-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
の別名.