Ruby インタプリタ作成時に設定された情報を格納したライブラリです。 RbConfig モジュールを定義します。
expand(val, config = CONFIG) -> String
[permalink][rdoc]与えられたパスを展開します。
RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
[SEE_ALSO] RbConfig::MAKEFILE_CONFIG
ruby -> String
[permalink][rdoc]ruby コマンドのフルパスを返します。
CONFIG -> Hash
[permalink][rdoc]設定値を格納したハッシュです。
格納されている要素のキーと値は Ruby のバージョンや使用しているプラットフォームによって変わります。
[SEE_ALSO] autoconf(1), make(1)
DESTDIR -> String
[permalink][rdoc]make install するときに指定した DESTDIR を返します。クロスコンパイルしたときなどは値がセットされています。
MAKEFILE_CONFIG -> Hash
[permalink][rdoc]RbConfig::CONFIG と同じですが、その値は以下のような形で他の変数への参照を含みます。
MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"
これは、Makefile の変数参照の形式で MAKEFILE_CONFIG は、 Makefile 作成の際に利用されることを想定しています。
require 'rbconfig' print <<-END_OF_MAKEFILE prefix = #{RbConfig::MAKEFILE_CONFIG['prefix']} exec_prefix = #{RbConfig::MAKEFILE_CONFIG['exec_prefix']} bindir = #{RbConfig::MAKEFILE_CONFIG['bindir']} END_OF_MAKEFILE => prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin
RbConfig.expand は、このような参照を解決するメソッドとして rbconfig 内部で利用されています。 (CONFIG 変数は、MAKEFILE_CONFIG の内容から RbConfig.expand を使って生成されています)
require 'rbconfig' p Config.expand(RbConfig::MAKEFILE_CONFIG["bindir"]) # => "/usr/local/bin"
TOPDIR -> String
[permalink][rdoc]Ruby がインストールされているディレクトリです。
TOPDIR ├── bin │ ├── ... │ └── ruby ├── include ├── lib └── share