3
다음과 같이 아래의 루비 코드의 의도 된 동작은 다음과 같습니다변경 동작은 도착
- 쓰기 ARGV [0], 오래된 명령 행에라는 파일, 사용자가 임시 파일
을 제거 입력을
old를 ARGV [0] (hello.c 임)와 동일하게 설정하면 fp에 hello.c의 첫 번째 줄이 할당되고 코드가 루프에서 분리됩니다.
나는 그것을 실행 방법 :
[email protected] live$ ruby test.rb hello.c
hello.c
#include <stdio.h>
[email protected] live$
코드 : 명령 줄에서 읽는 것은 하드 파일 이름을 코딩보다 다른 것이 왜 이해가 안
#!/usr/bin/env ruby
require 'timeout'
old = ARGV[0].chomp
puts old # sanity check
# old = 'hello.c'
new = 'tmp_' + old
`cp #{old} #{new}`
fp = nil
loop do
begin
Timeout::timeout(3) { fp = gets }
puts fp # sanity check
break if (fp)
rescue Timeout::Error
# ...
end
end
`rm #{new}`
합니다.
도움을 주시면 감사하겠습니다. 감사.
더 깊이 파고 들어야합니다. 이것으로 해결했습니다. 고마워요. – user992236