DEC-10 호환 입출력
DEC-10 호환 입출력
호환성을 위해 제공되는 DEC-10 Prolog 입출력 술어들을 설명해요.
본문
소개
DEC-10 Prolog I/O 술어들은 현재 입력/출력 스트림(8.10.1절)만 참조하므로 스트림을 암시적으로 조작해요. 현재 입력 및 출력 스트림은 처음에 각각 user_input과 user_output으로 설정돼요.
술어 see/1(resp. tell/1, append/1)은 특정 파일에 대해 새로 열린 스트림으로 현재 입력(resp. 출력) 스트림을 설정하는 데 사용될 수 있어요. 술어 seen/0(resp. told/0)은 현재 입력(resp. 출력) 스트림을 닫고 표준 입력(resp. 출력)으로 재설정해요. 술어 seeing/1(resp. telling/1)은 현재 입력(resp. 출력) 스트림과 연관된 파일 이름을 검색하는 데 사용돼요. 파일 이름 user는 문맥에 따라 표준 입력 또는 출력을 나타내요(user_input과 user_output도 사용할 수 있음).
DEC-10 Prolog I/O 술어들은 호환성을 위해서만 제공되며, 이제는 구식(obsolete)이고 사용이 권장되지 않아요. 명시적 스트림 조작 술어(8.10절)를 사용해야 해요.
see/1, tell/1, append/1
Templates
see(+source_sink)
see(+stream)
tell(+source_sink)
tell(+stream)
append(+source_sink)
append(+stream)
Description
see(FileName)- 현재 입력 스트림을FileName으로 설정. 같은FileName과 연관된see/1로 열린 스트림이 이미 있으면 그것이 현재 입력 스트림이 됨. 그렇지 않으면FileName을 읽기 위해 열고 현재 입력 스트림이 됨.tell(FileName)- 현재 출력 스트림을FileName으로 설정. 같은FileName과 연관된tell/1로 열린 스트림이 이미 있으면 그것이 현재 출력 스트림이 됨. 그렇지 않으면FileName을 쓰기 위해 열고 현재 출력 스트림이 됨.append(FileName)-tell/1과 같지만FileName을 쓰기 + 추가(append)를 위해 열음.
(다른 내장 술어로 얻은) 스트림 항도 FileName으로 이 술어들에 제공될 수 있어요.
Errors: open/4(8.10.6절)와 관련된 오류 참조.
Portability: GNU Prolog 술어. 구식(Deprecated).
seeing/1, telling/1
Templates
seeing(?source_sink)
telling(?source_sink)
Description
seeing(FileName)-FileName이 현재 입력 파일의 이름과 통일되면 성공(그 파일이see/1로 열린 경우). 그렇지 않으면 현재 입력 스트림 항(그것이user_input이 아닌 경우) 또는user와 통일.telling(FileName)-FileName이 현재 출력 파일의 이름과 통일되면 성공(그 파일이tell/1또는append/1로 열린 경우). 그렇지 않으면 현재 출력 스트림 항(그것이user_output이 아닌 경우) 또는user와 통일.
Errors: 없음.
Portability: GNU Prolog 술어. 구식.
seen/0, told/0
Templates
seen
told
Description
seen- 현재 입력을 닫고user_input으로 재설정.told- 현재 출력을 닫고user_output으로 재설정.
Errors: 없음.
Portability: GNU Prolog 술어. 구식.
get0/1, get/1, skip/1
Templates
get0(?in_character_code)
get(?in_character_code)
skip(+character_code)
Description
get0(Code)-Code가 현재 입력 스트림에서 읽은 다음 문자 코드와 통일되면 성공. 따라서get_code(Code)(8.12.1절)와 동일.get(Code)-Code가 현재 입력 스트림에서 읽은 다음 레이아웃 문자가 아닌 문자 코드와 통일되면 성공.skip(Code)- 현재 입력 스트림에서 다음 문자 코드Code바로 다음까지 건너뜀.
Errors: get_code/2(8.12.1절)의 오류 참조.
Portability: GNU Prolog 술어. 구식.
put/1, tab/1
Templates
put(+character_code)
tab(+evaluable)
Description
put(Code)- 코드가Code인 문자를 현재 출력 스트림에 씀.put_code(Code)(8.12.5절)와 동일.tab(N)- 현재 출력 스트림에 공백 N개를 씀. N은 산술 표현식일 수 있음.
Errors: put_code/2(8.12.5절)의 오류와 산술 표현식(8.6.1절)의 오류 참조.
Portability: GNU Prolog 술어. 구식.