modul RbConfig
Das Modul, das die Konfigurationen des Ruby-Interpreters beim Erstellen speichert.
Diese Datei wurde von mkconfig.rb beim Erstellen von Ruby erstellt. Sie enthält Build-Informationen für Ruby, die z. B. von mkmf verwendet werden, um kompatible native Erweiterungen zu erstellen. Alle Änderungen an dieser Datei gehen beim nächsten Erstellen von Ruby verloren.
Das Modul, das die Konfigurationen des Ruby-Interpreters beim Erstellen speichert.
Diese Datei wurde von mkconfig.rb beim Erstellen von Ruby erstellt. Sie enthält Build-Informationen für Ruby, die z. B. von mkmf verwendet werden, um kompatible native Erweiterungen zu erstellen. Alle Änderungen an dieser Datei gehen beim nächsten Erstellen von Ruby verloren.
Constants
- CONFIG
-
Die gespeicherten Konfigurations-Hashes.
- DESTDIR
-
DESTDIRbei make install. - LIMITS
-
Ein
Hashmit den Grenzen der numerischen Typen, die dem zum Erstellen von Ruby verwendeten C-Compiler zur Verfügung stehen. Um auf diese Konstante zuzugreifen, führen Sie zuerstrequire 'rbconfig/sizeof'aus.require 'rbconfig/sizeof' RUBY_PLATFORM # => "x64-mingw-ucrt" RbConfig::LIMITS.fetch_values('FIXNUM_MAX', 'LONG_MAX') # => [1073741823, 2147483647]
- MAKEFILE_CONFIG
-
Fast identisch mit
CONFIG.MAKEFILE_CONFIGenthält weitere Variablenreferenzen wie unten gezeigt.MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"
Die Werte dieser Konstante werden zur Erstellung von Makefile verwendet.
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 MAKEFILE_CONFIG = {}RbConfig.expandwird verwendet, um Referenzen wie die oben genannten in rbconfig aufzulösen.require 'rbconfig' p RbConfig.expand(RbConfig::MAKEFILE_CONFIG["bindir"]) # => "/usr/local/bin"
- SIZEOF
-
Ein
Hashmit der Bytegröße von C-Typen, die dem zum Erstellen von Ruby verwendeten Compiler zur Verfügung stehen. Um auf diese Konstante zuzugreifen, führen Sie zuerstrequire 'rbconfig/sizeof'aus.require 'rbconfig/sizeof' RUBY_PLATFORM # => "x64-mingw-ucrt" RbConfig::SIZEOF.fetch_values('long', 'void*') # => [4, 8]
- TOPDIR
-
Verzeichnis, in dem Ruby installiert ist.
Öffentliche Klassenmethoden
Source
# File rbconfig.rb, line 309 def RbConfig::expand(val, config = CONFIG) newval = val.gsub(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) { var = $& if !(v = $1 || $2) '$' elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]] pat, sub = $1, $2 config[v] = false config[v] = RbConfig::expand(key, config) key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat key else var end } val.replace(newval) unless newval == val val end
RbConfig.expand(val) -> string RbConfig.expand(val, config) -> string
erweitert Variablen mit dem gegebenen val Wert.
RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
Source
# File rbconfig.rb, line 367 def RbConfig.ruby File.join( RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"] ) end
RbConfig.ruby -> path
gibt den absoluten Pfad zum Ruby-Befehl zurück.