如何替换反向运算符中的变量的值?
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"