反引号
一个其它类型的字符串值得特别提及:一个由反引号括起来的字符串——也就是在键盘左上角的向内指向的引号字符 `
。
Ruby 认为任何由反引号括起来的都是一个可以使用 print
或 puts
方法传递给操作系统执行的命令。到目前为止,你可能已经猜到 Ruby 提供了不仅仅一种方式去实现这些。事实证明,%x/some command/
与
具有相同的效果,当然 somecommand
%x{some command}
也是如此。例如,在 Windows 操作系统上,如下所示的三行代码都是将命令 dir 传递给操作系统执行,显示目录列表:
4backquotes.rb
puts(`dir`)
puts(%x/dir/)
puts(%x{dir})
你也可以在双引号字符串中嵌入命令,如下所示:
print( "Goodbye #{%x{calc}}" )
如果你这么做,要小心的是,命令首先会被执行。你的 Ruby 程序会进行等待,直到开始的进程终止。在这种情况下,计算器将先弹出来。你可以做一些计算,只有当你关闭计算器的时候,字符串 “Goodbye” 才会显示。