파일 끝에 도달했을 때 wait_for_input이 대기하지 않는 이유를 알지 못합니다. Mac OS X에서 swi-prolog 7.6.0 및 Red Hat Linux 6에서 swi-prolog 5.7.11을 사용해 보았습니다. 따옴표없이 한 줄 "f (1)."을 포함하는 파일로 스트림을 엽니 다. wait_for_input 반환하지만 스트림을 읽는 end_of_file 제공하는 다음 동작을 가져옵니다.swi-prolog 파일의 끝에 스트림이있는 파일에 대한 wait_for_input
? open ('file.prolog', 읽기, InStrm, [별칭 (instrm), eof_action (재설정)]).
InStrm = instrm.
? wait_for_input ([instrm], RL, 15).
RL = [instrm].
? read (instrm, Trm).
Trm = f (1).
? wait_for_input ([instrm], RL, 15).
RL = [instrm].
? read (instrm, Trm).
Trm = end_of_file.
eof_action (reset)을 사용하여 다른 프로세스가 파일에 추가하면 독자가 새 데이터를 가져옵니다.