Ruby如何解释$(foo)

Vij*_*jay 0 ruby

当我读RbConfig::CONFIG['libdir']它给我lib文件夹位置.但是在rbconfig.rb文件中CONFIG["libdir"] = "$(exec_prefix)/lib".如何在这里解释值.

Ste*_*fan 6

$(exec_prefix)指的是一把钥匙RbConfig::CONFIG.

但这不是Ruby功能.rbconfig.rb包含扩展这些值的代码:每次出现$(key)都替换为相应的值RbConfig::CONFIG['key']

我rbconfig.rb包含这些内容:

CONFIG["prefix"]      = (TOPDIR || DESTDIR + "/Users/sos/.rubies/ruby-2.2.2")
CONFIG["exec_prefix"] = "$(prefix)"
CONFIG["libdir"]      = "$(exec_prefix)/lib"
Run Code Online (Sandbox Code Playgroud)

他们的价值观是:

RbConfig::CONFIG["prefix"]      #=> "/Users/sos/.rubies/ruby-2.2.2"
RbConfig::CONFIG["exec_prefix"] #=> "/Users/sos/.rubies/ruby-2.2.2"
RbConfig::CONFIG["libdir"]      #=> "/Users/sos/.rubies/ruby-2.2.2/lib"
Run Code Online (Sandbox Code Playgroud)

  • @Vijay与任何迷你模板的工作方式相同--Stefan提供的链接*正好*它是如何工作的. (2认同)