替换反引号操作符内的变量值

Tal*_*Kit 24 ruby

如何在反引号运算符中替换变量的值?

script_dir = File.expand_path File.dirname(__FILE__)
p `ruby -e p "$script_dir"` # this does not work
Run Code Online (Sandbox Code Playgroud)

Bog*_*tyr 27

在Ruby中,与Perl不同,美元符号表示全局变量,而不是在字符串中展开的普通常规变量.在字符串中,您需要使用#{}构造:

p `ruby -e "p #{script_dir}"`
Run Code Online (Sandbox Code Playgroud)

一个例子:

irb(main):011:0> str = '\'howdy\''
=> "'howdy'"
irb(main):012:0> `ruby -e "p #{str}"`
=> "\"howdy\"\n"
Run Code Online (Sandbox Code Playgroud)


Mar*_*pka 19

Ruby 字符串插值与反引号运算符一起使用:

p `ruby -e p "#{script_dir}"`
Run Code Online (Sandbox Code Playgroud)