1
問題:有沒有一種簡單的方法可以在Ruby中打印出一個元素,並用空格分隔元素?Ruby:將ARGV轉換爲字符串
詳細:
我想用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'' then'escaped_args = ARGV.map {| arg | Shellwords.escape arg} .join''' – hammady