2011-02-24 1 views
0
file = ["file1","file2",...].join(" ") 

`paste "#{file}"` 

안녕하세요, 몇 일 동안 나를 괴롭 히고있는이 간단한 문제가 있습니다. Ruby를 사용하여 붙여 넣을 파일을 선택하려고하지만 위 코드를 사용하면 파일이 없다는 메시지가 반환됩니다. 단일 파일 (예 : paste file1, 작동합니다. 누군가 코드가 작동하지 않는 이유를 알고 있습니까?파일을 함께 붙여 넣으려면 시스템에 전화하십시오.

미리 감사드립니다.

+0

"함께 붙여 넣기"란 무엇을 의미합니까? 파일 이름을 단일 문자열로 결합하거나 연결 시키시겠습니까? –

+0

안녕하세요, 실제로는 파일을 나란히 합치는 것입니다. – user360032

+0

문제가 함께 붙어 있지 않습니다. 당신은 여러 가지 방법으로 그것을 할 수 있습니다. 문제는이 경우'paste '에 전달되는 파일 이름이 생성되는 방식입니다 (아래의 내 답변 참조). 그러나이 코드는'ls '나 다른 외부 명령으로는 실패합니다. – xinit

답변

1

# {file}을 (를) 인용했기 때문입니다. 실행되는 것은 paste "file1 file2"입니다.

paste #{file}을 입력하면 paste file1 file2이됩니다. 필자의 경우, paste는 "file1 file2"(공백이있는 filename) 파일을 필요로합니다.

즉, 두 번째 줄에서 큰 따옴표를 제거하십시오.

+0

AH. 고마워요. 이제 알겠습니다. 나는 당신이''에 텍스트 외삽 법을 적용 할 필요가 없다는 것을 몰랐습니다. – user360032

+0

그런데 백틱은 큰 따옴표처럼 작동합니다. 같은 방식으로 문자열 보간'# {...} '을 사용하기 때문에 여분의 큰 따옴표를 추가 할 필요가 없습니다. – xinit

+0

크게 감사드립니다! – user360032

관련 문제