Ruby에서 시스템 명령으로 XLS 2 CSV 파일을 변환 중입니다.시스템 명령이 끝날 때까지 기다리는 방법
변환 후 CSV 파일을 처리하지만 프로그램에서 파일을 처리하려고 할 때 변환이 계속 실행되므로 해당 시점에 파일이 존재하지 않습니다.
Ruby가 시스템 명령을 마칠 때까지 기다릴 수 있는지 알려줄 수 있습니까?
sleep 20
을하지만 더 이상 한 번 걸릴 경우, 그것은 바로 물론되지 않습니다 :
지금은 사용하고 있습니다. 스레드를 사용하는
#Call on the program to convert xls
command = "C:/Development/Tools/xls2csv/xls2csv.exe C:/TDLINK/file1.xls"
system(command)
do_stuff
def do_stuff
#This is where i use file1.csv, however, it isn't here yet
end
현재 코드의 예를 표시하거나 기능을 설명하십시오. 내가 아는 한, 시스템 콜은 단지 "오프로드"된 것이 아니므로, 어떻게 든 당신이 그것을 오프로드하고 있다고 생각합니다. –
시스템 명령이 성공을 리턴합니까? 시스템의 리턴 값을 변수에 할당 한 후 그 내용을 점검하십시오. 시스템 명령은 동 기적으로 실행해야합니다. –
시스템 (명령)을 변수에 할당하면 immediatly true가 반환됩니다. 그래서 옵션이 없습니다 – Ignace