file = ["file1","file2",...].join(" ")
`paste "#{file}"`
こんにちは、私は数日間私を悩ませているこの簡単な問題があります。 Rubyを使用して貼り付けるファイルを選択したいのですが、上記のコードを使用すると、ファイルが見つからないと返します。 1つのファイルに対して実行すると、たとえばpaste file1
、それは動作します。誰かがなぜコードが機能していないのか分かりますか?事前ファイルを貼り付けるシステムを呼び出す
file = ["file1","file2",...].join(" ")
`paste "#{file}"`
こんにちは、私は数日間私を悩ませているこの簡単な問題があります。 Rubyを使用して貼り付けるファイルを選択したいのですが、上記のコードを使用すると、ファイルが見つからないと返します。 1つのファイルに対して実行すると、たとえばpaste file1
、それは動作します。誰かがなぜコードが機能していないのか分かりますか?事前ファイルを貼り付けるシステムを呼び出す
で
おかげであなたは#{file}を引用するからです。実行されるものはpaste "file1 file2"
です。
おそらくpaste #{file}
があり、paste file1 file2
になります。あなたの場合、pasteは "file1 file2"(スペースを含むファイル名)と呼ばれるファイルを必要とします。
つまり、2行目の二重引用符を削除します。
AH。どうもありがとうございました。分かりました。私はあなたが ''でテキスト補外を取る必要はないことを知らなかった。 – user360032
ところで、バッククォートは二重引用符と同じように機能します。同じように文字列補間 '#{...} 'を使用するので、余分な二重引用符を追加する必要はありません。 – xinit
よろしくお願いいたします。 – user360032
「一緒に貼り付ける」とはどういう意味ですか?ファイル名を単一の文字列に結合するか連結しますか? –
こんにちは、私は実際に一緒にファイルを一緒に参加することです、サイドバイサイド。 – user360032
問題は物事を一緒に貼り付けることではありません。あなたはさまざまな方法でそれを行うことができます。問題は、ファイル名がこの場合は 'paste'に渡される方法です(以下の私の答えを見てください)。しかし、このコードは 'ls 'や他の外部コマンドと同じように難しいものです。 – xinit