%x ( ) を使用し、実行するファイルのパスを決定するために以前に使用した変数を使用しようとしています。
本質的に私はこのようなことをしたい
location = "/home/myhome/somefolder"
%x ("ls " + location)
これを行う方法はありますか?
%x ( ) を使用し、実行するファイルのパスを決定するために以前に使用した変数を使用しようとしています。
本質的に私はこのようなことをしたい
location = "/home/myhome/somefolder"
%x ("ls " + location)
これを行う方法はありますか?
あなたのコードは動作します
%x ("ls " + location)
または
%x ("ls #{location}")
あなたが提供した例は正常に動作しますが、おそらくShellwords
変数をエスケープするために使用する必要があります。
require 'shellwords'
location = '~/My folder with spaces in the name'
%x("ls #{Shellwords::escape(location)}")
私はRuby 2を使用していますが、上記のどれもうまくいきませんでした。だから私は次のようなものを使って巻き上げました
eval "%x(ls #{location})"