# 組み込み定数

`TRUE ((<obsolete>))`

  代表的な真の値。`true` と同じ。Ruby では偽でない値(`false` でも `nil` でもない値)は全て真とみなされます。 (obsoleteも参照してください。)

`FALSE ((<obsolete>))`

  偽の値。`false` と同じ。 (obsoleteも参照してください。)

`NIL ((<obsolete>))`

  `nil` と同じ。 (obsoleteも参照してください。)

`STDIN`

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

`STDOUT`

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

`STDERR`

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

`ENV`

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

`ARGF`

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

`ARGV`

  Rubyスクリプトに与えられた引数。組み込み変数 $* の 別名。Ruby自身に対する引数は取り除かれています。

`DATA`

  スクリプトの `__END__` (スクリプトの終り) 以降をアクセスする File オブジェクト。

  注意:

  - `DATA.rewind` で移動する読みとり位置は、`__END__` 直後で はなく、スクリプトファイルの先頭です。
  - スクリプトが標準入力から読みこまれた場合は標準入力になります。
  - スクリプトがファイルや標準入力から読みこまれなかった場合や、 `__END__` で終っていない場合には定義されません。
  - require や load で 読み込まれたファイルの中であってもそのファイル(`__FILE__`) ではなく実行されたファイル(`$0`)を指します。
`TOPLEVEL_BINDING`

  トップレベルでの Binding オブジェクト。

`RUBY_VERSION`

  Ruby のバージョンを示す文字列。Ruby のバージョンは、 major.minor.teeny という形式です。それぞれの番号 は(今のところ)二桁以上にならないと約束されていますので、

      if RUBY_VERSION >= '1.6.7'
        # バージョン 1.6.7 以降で有効な処理
      else
        # それ以前のバージョンで有効な処理
      end

  とバージョンの違いによる処理の分岐を書くことができます。

  version 1.8 までは、minor が奇数のバージョンは開発版、 minor が偶数のバージョンは安定版です。1.9.0 以降は、 teeny が 0 のバージョンが開発版となる予定です。

`RUBY_RELEASE_DATE`

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

`RUBY_PLATFORM`

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

`VERSION ((<obsolete>))`
`RELEASE_DATE ((<obsolete>))`
`PLATFORM ((<obsolete>))`

  これらは、上記の定数 `RUBY_XXX` の古い名前です。 obsoleteも参照してください。

  ruby 1.9 feature: これらの定数は削除されました。

`SCRIPT_LINES__`

  この定数は、デフォルトでは定義されていません。

  この定数がハッシュとして定義された後に、ソースがコンパイルさ れると、そのソースファイル名をキーに、ソースを行毎に分割した配列を値 にしたハッシュ要素が設定されます。この定数はデバッガ(debug.rb) などで利用されています。

      SCRIPT_LINES__ = {}
      require 'English'
      p SCRIPT_LINES__

      # 注: 出力は加工してあります。
      # => {"/usr/local/lib/ruby/1.6/English.rb"=>
            ["alias $ERROR_INFO              $!\n",
             "alias $ERROR_POSITION          $@\n",
             "alias $LOADED_FEATURES         $\"\n",
                      :
                      :
             "alias $POSTMATCH               $'\n",
             "alias $LAST_PAREN_MATCH        $+\n"]}

  なお、$SAFEレベルが 0 でなければ有効にはなりませ ん。また、eval によるコンパイルは対象にはなりませ ん。

links: [ARGF] [Binding] [ENV] [File] [debug.rb] [obsolete] [ruby 1.9 feature] [プログラム] [組み込み関数] [組み込み変数]
reverse links: [1.6.8から1.8.0への変更点(まとめ)] [ARGF] [Binding] [Rubyの起動] [Rubyリファレンスマニュアル] [ruby 1.8 feature] [ruby 1.9 feature] [組み込み変数]