DEC-10 호환 입출력

DEC-10 호환 입출력

호환성을 위해 제공되는 DEC-10 Prolog 입출력 술어들을 설명해요.

출처: GNU Prolog Manual - DEC-10 compatibility input/output

본문

소개

DEC-10 Prolog I/O 술어들은 현재 입력/출력 스트림(8.10.1절)만 참조하므로 스트림을 암시적으로 조작해요. 현재 입력 및 출력 스트림은 처음에 각각 user_inputuser_output으로 설정돼요.

술어 see/1(resp. tell/1, append/1)은 특정 파일에 대해 새로 열린 스트림으로 현재 입력(resp. 출력) 스트림을 설정하는 데 사용될 수 있어요. 술어 seen/0(resp. told/0)은 현재 입력(resp. 출력) 스트림을 닫고 표준 입력(resp. 출력)으로 재설정해요. 술어 seeing/1(resp. telling/1)은 현재 입력(resp. 출력) 스트림과 연관된 파일 이름을 검색하는 데 사용돼요. 파일 이름 user는 문맥에 따라 표준 입력 또는 출력을 나타내요(user_inputuser_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 술어. 구식.

더 알아보기