如何替换反引号运算符中的变量值?
script_dir = File.expand_path File.dirname(__FILE__)
p `ruby -e p "$script_dir"` # this does not work
如何替换反引号运算符中的变量值?
script_dir = File.expand_path File.dirname(__FILE__)
p `ruby -e p "$script_dir"` # this does not work
在 Ruby 中,与 Perl 不同,美元符号表示全局变量,而不是在字符串中展开的普通常规变量。在字符串中,您需要使用 #{} 构造:
p `ruby -e "p #{script_dir}"`
一个例子:
irb(main):011:0> str = '\'howdy\''
=> "'howdy'"
irb(main):012:0> `ruby -e "p #{str}"`
=> "\"howdy\"\n"
Ruby字符串插值适用于反引号运算符:
p `ruby -e p "#{script_dir}"`