Ruby 3.3 リファレンスマニュアル

module RbConfig

[edit]

要約

Ruby インタプリタ作成時に設定された情報を格納したライブラリです。 RbConfig モジュールを定義します。

目次

特異メソッド
追加されるメソッド
定数

特異メソッド

expand(val, config = CONFIG) -> StringRuby 1.9.3 から[permalink][rdoc][edit]

与えられたパスを展開します。

p RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
[PARAM] val:
展開したい変数名を Makefile に書く形式で指定します。
[PARAM] config:
変数展開に使用する設定を Hash で指定します。

[SEE_ALSO] RbConfig::MAKEFILE_CONFIG

ruby -> StringRuby 1.9.3 から[permalink][rdoc][edit]

ruby コマンドのフルパスを返します。

追加されるメソッド

LIMITS -> HashRuby 2.7.0 から[permalink][rdoc][edit] [added by rbconfig/sizeof]

Ruby インタプリタが作成された環境における、さまざまな型の値の範囲に関する情報を保持します。

下の例では、実行している Ruby インタプリタは INT_MAX が 2147483647 である環境で作成されたことを表しています。

require 'rbconfig/sizeof'
p RbConfig::LIMITS['INT_MAX'] # => 2147483647
SIZEOF -> HashRuby 2.7.0 から[permalink][rdoc][edit] [added by rbconfig/sizeof]

Ruby インタプリタが作成された環境における、C の型のサイズ情報を保持します。

下の例では、実行している Ruby インタプリタは int が 4 バイトである環境で作成されたことを表しています。

require 'rbconfig/sizeof'
p RbConfig::SIZEOF['int'] # => 4

定数

CONFIG -> HashRuby 1.9.3 から[permalink][rdoc][edit]

設定値を格納したハッシュです。

格納されている要素のキーと値は Ruby のバージョンや使用しているプラットフォームによって変わります。

[SEE_ALSO] autoconf(1), make(1)

DESTDIR -> StringRuby 1.9.3 から[permalink][rdoc][edit]

make install するときに指定した DESTDIR を返します。クロスコンパイルしたときなどは値がセットされています。

MAKEFILE_CONFIG -> HashRuby 1.9.3 から[permalink][rdoc][edit]

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 -> StringRuby 1.9.3 から[permalink][rdoc][edit]

Ruby がインストールされているディレクトリです。

TOPDIR
├── bin
│   ├── ...
│   └── ruby
├── include
├── lib
└── share