问题: 在 Ruby 中是否有一种简单的方法打印出一个数组,使其元素以空格分隔?
细节:
我想使用 Ruby 对命令进行基准测试并运行该命令。例如:
script.rb ./command_name arg1 arg2 arg3 ...
例如:
script.rb ls -lh
应该运行ls -lh
。我尝试使用以下方式进行:
require 'benchmark'
puts Benchmark.measure{system(ARGV.to_s)}
(注意,本问题忽略基准测试,我只是包含它,因为这就是我使用它的原因)但这不起作用,因为ARGV被打印时没有空格。例如ls -lh
变成了ls-lh
。显然,我可以通过解析ARGV数组并在循环中在元素之间插入空格来创建自己的字符串。但我认为有一个更优雅的Ruby解决方案,但我还没有能够找到一个,所以我想知道是否有人有建议。
require 'shellwords'
然后escaped_args = ARGV.map{|arg| Shellwords.escape arg}.join ' '
。 - hammady