스트림 술어
스트림 술어
스트림을 조작하는 내장 술어들을 설명해요.
본문
current_input/1
Templates
current_input(?stream)
Description
current_input(Stream)은 현재 입력 스트림을 식별하는 스트림 항과 Stream을 통일해요.
Errors
- Stream이 변수도 스트림도 아님 —
domain_error(stream, Stream)
Portability: ISO 술어.
current_output/1
Templates
current_output(?stream)
Description
current_output(Stream)은 현재 출력 스트림을 식별하는 스트림 항과 Stream을 통일해요.
Errors
- Stream이 변수도 스트림도 아님 —
domain_error(stream, Stream)
Portability: ISO 술어.
set_input/1
Templates
set_input(+stream_or_alias)
Description
set_input(SorA)는 현재 입력 스트림이 스트림 항 또는 별칭 SorA와 연관된 스트림이 되도록 설정해요.
Errors
- SorA가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 출력 스트림 —
permission_error(input, stream, SorA)
Portability: ISO 술어.
set_output/1
Templates
set_output(+stream_or_alias)
Description
set_output(SorA)는 현재 출력 스트림이 스트림 항 또는 별칭 SorA와 연관된 스트림이 되도록 설정해요.
Errors
- SorA가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 입력 스트림 —
permission_error(output, stream, SorA)
Portability: ISO 술어.
open/4, open/3
Templates
open(+source_sink, +io_mode, -stream, +stream_option_list)
open(+source_sink, +io_mode, -stream)
Description
open(SourceSink, Mode, Stream, Options)은 Mode가 나타내는 대로 입력 또는 출력을 위해 소스/싱크 SourceSink를 열고 스트림 옵션 리스트 Options를 적용하며, 이 스트림과 연관된 스트림 항과 Stream을 통일해요. SourceSink의 구문에 대한 정보는 absolute_file_name/2(8.26.1절)를 참조해요.
입출력 모드: Mode는 스트림에서 수행될 수 있는 입출력 연산을 정의하는 원자예요. 가능한 모드는:
read— 소스/싱크는 소스이며 이미 존재해야 함. 입력은 소스의 시작에서 시작.write— 소스/싱크는 싱크. 싱크가 이미 존재하면 비워지고, 그 외에는 빈 싱크가 생성됨. 출력은 싱크의 시작에서 시작.append— 소스/싱크는 싱크. 싱크가 존재하지 않으면 생성됨. 출력은 싱크의 끝에서 시작.
스트림 옵션: Options는 스트림 옵션 리스트예요. 이 리스트가 모순된 옵션을 포함하면 가장 오른쪽 옵션이 적용돼요. 가능한 옵션:
type(text / binary)— 스트림이 텍스트 스트림인지 바이너리 스트림인지 지정. 기본값은text.reposition(true / false)— 스트림을 재배치할 수 있는지 여부를 지정. 기본값은 스트림을 재배치할 수 없을 때(예: 터미널)를 제외하면true.eof_action(error / eof_code / reset)— 스트림 위치가 past-end-of-stream인 스트림에서 입력하려는 시도의 효과를 지정:error— 이 스트림에 더 이상 입력이 없다는permission_error가 발생.eof_code— 입력의 결과가 스트림 위치가 end-of-stream인 것처럼 됨.reset— 스트림 위치가 past-end-of-stream이 아니도록 재설정되고 다른 시도가 이루어짐(터미널에서 입력할 때 유용). 기본값은eof_code.
alias(Alias)— 원자 Alias가 스트림의 별칭이 되도록 지정. 기본적으로 스트림에 별칭이 붙지 않음. 같은 스트림에 여러 별칭이 정의될 수 있음.mirror(Mirror)— 스트림 항 또는 별칭 Mirror와 연관된 스트림이 스트림의 미러가 되도록 지정. 기본적으로 스트림에 미러가 붙지 않음. 같은 스트림에 여러 미러가 정의될 수 있음.buffering(none / line / block)— 이 스트림의 입출력 연산이 사용하는 버퍼링 유형을 지정:none— 버퍼링 없음.line— 출력 연산이 새 줄이 발생할 때까지 방출된 데이터를 버퍼.block— 입출력 연산이 주어진 수(구현에 의존)의 문자/바이트가 처리될 때까지 데이터를 버퍼. 기본값은 터미널(TTY)의 경우line, 그 외에는block.
open(SourceSink, Mode, Stream)은 open(SourceSink, Mode, Stream, [])과 동일해요.
Errors
- SourceSink가 변수 —
instantiation_error - Mode가 변수 —
instantiation_error - Options가 부분 리스트이거나 변수인 요소 E를 가진 리스트 —
instantiation_error - Mode가 변수도 원자도 아님 —
type_error(atom, Mode) - Options가 부분 리스트도 리스트도 아님 —
type_error(list, Options) - Stream이 변수가 아님 —
uninstantiation_error(Stream) - SourceSink가 변수도 소스/싱크도 아님 —
domain_error(source_sink, SourceSink) - Mode가 원자이지만 입출력 모드가 아님 —
domain_error(io_mode, Mode) - Options 리스트의 어떤 요소 E가 변수도 스트림 옵션도 아님 —
domain_error(stream_option, E) - SourceSink가 지정하는 소스/싱크가 존재하지 않음 —
existence_error(source_sink, SourceSink) - SourceSink가 지정하는 소스/싱크를 열 수 없음 —
permission_error(open, source_sink, SourceSink) - Options 리스트의 어떤 요소 E가
alias(A)이고 A가 이미 열린 스트림과 연관됨 —permission_error(open, source_sink, alias(A)) - Options 리스트의 어떤 요소 E가
mirror(M)이고 M이 열린 스트림과 연관되지 않음 —existence_error(stream, M) - Options 리스트의 어떤 요소 E가
mirror(M)이고 M이 입력 스트림 —permission_error(output, stream, M) - Options 리스트의 어떤 요소 E가
reposition(true)이고 이 스트림을 재배치할 수 없음 —permission_error(open, source_sink, reposition(true))
Portability: ISO 술어. mirror와 buffering 스트림 옵션은 GNU Prolog 확장.
close/2, close/1
Templates
close(+stream_or_alias, +close_option_list)
close(+stream_or_alias)
Description
close(SorA, Options)는 스트림 항 또는 별칭 SorA와 연관된 스트림을 닫아요. SorA가 표준 입력 스트림 또는 표준 출력 스트림이면 close/2는 단순히 성공하고, 그 외에는 연관된 소스/싱크가 물리적으로 닫혀요. SorA가 현재 입력 스트림이면 현재 입력 스트림은 표준 입력 스트림 user_input이 돼요. SorA가 현재 출력 스트림이면 현재 출력 스트림은 표준 출력 스트림 user_output이 돼요.
닫기 옵션: Options는 닫기 옵션 리스트예요. 현재로서는 하나의 옵션만 사용할 수 있어요:
force(true / false)— false로, 소스/싱크를 닫으려 할 때 오류가 발생하면 스트림이 닫히지 않고 오류(system_error또는resource_error)가 발생(그러나 close/2는 성공). true로, 오류가 발생해도 무시되고 스트림이 닫힘.force/1옵션의 목적은 오류 처리 루틴이 자원을 회수하기 위해 최선을 다하게 하는 것. 기본값은false.
close(SorA)는 close(SorA, [])과 동일해요.
Errors
- SorA가 변수 —
instantiation_error - Options가 부분 리스트이거나 변수인 요소 E를 가진 리스트 —
instantiation_error - Options가 부분 리스트도 리스트도 아님 —
type_error(list, Options) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Options 리스트의 어떤 요소 E가 변수도 닫기 옵션도 아님 —
domain_error(close_option, E) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 특수 닫기를 필요로 함(8.11절) —
system_error(needs_special_close)
Portability: ISO 술어. system_error(needs_special_close)는 GNU Prolog 확장.
flush_output/1, flush_output/0
Templates
flush_output(+stream_or_alias)
flush_output
Description
flush_output(SorA)는 버퍼링된 출력 문자/바이트를 스트림으로 보내요. flush_output/0은 현재 출력 스트림에 적용돼요.
Errors
- SorA가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 입력 스트림 —
permission_error(output, stream, SorA)
Portability: ISO 술어.
current_stream/1
Templates
current_stream(?stream)
Description
current_stream(Stream)은 Stream과 통일하는 스트림 항이 존재하면 성공해요. 이 술어는 백트래킹 시 재실행 가능해요.
Errors
- Stream이 변수도 스트림 항도 아님 —
domain_error(stream, Stream)
Portability: GNU Prolog 술어.
stream_property/2
Templates
stream_property(?stream, ?stream_property)
Description
stream_property(Stream, Property)는 current_stream(Stream)이 성공하고(8.10.9절) Property가 스트림의 속성 중 하나와 통일하면 성공해요. 이 술어는 백트래킹 시 재실행 가능해요.
스트림 속성:
file_name(F)— 연결된 소스/싱크의 이름.mode(M)— M이 열기 모드(read,write,append).input— 입력 스트림이면.output— 출력 스트림이면.alias(A)— A가 스트림의 별칭.mirror(M)— M이 스트림의 미러 스트림.type(T)— T가 스트림의 유형(text,binary).reposition(R)— R이 재배치 불리언(true,false).eof_action(A)— A가 파일 끝 동작(error,eof_code,reset).buffering(B)— B가 버퍼링 모드(none,line,block).end_of_stream(E)— E가 현재 end-of-stream 상태(not,at,past). 스트림 위치가 end-of-stream이면 E는at과, past-end-of-stream이면 E는past와, 그 외에는 E는not과 통일.position(P)— P가 현재 위치와 연관된 스트림 위치 항.
Errors
- Stream이 변수 —
instantiation_error - Stream이 변수도 스트림 항도 아님 —
domain_error(stream, Stream) - Property가 변수도 스트림 속성도 아님 —
domain_error(stream_property, Property) - Property =
file_name(E),mode(E),alias(E),end_of_stream(E),eof_action(E),reposition(E),type(E)또는buffering(E)이고 E가 변수도 원자도 아님 —type_error(atom, E)
Portability: ISO 술어. buffering/1 속성은 GNU Prolog 확장.
at_end_of_stream/1, at_end_of_stream/0
Templates
at_end_of_stream(+stream_or_alias)
at_end_of_stream
Description
at_end_of_stream(SorA)는 스트림 항 또는 별칭 SorA와 연관된 스트림이 end-of-stream 또는 past-end-of-stream 스트림 위치를 가지면 성공해요. 이 술어는 stream_property/2(8.10.10절)로 정의될 수 있어요. at_end_of_stream/0은 현재 입력 스트림에 적용돼요.
Errors
- SorA가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 출력 스트림 —
permission_error(input, stream, SorA)
Portability: ISO 술어. permission_error(input, stream, SorA)는 GNU Prolog 확장.
stream_position/2
Templates
stream_position(+stream_or_alias, ?stream_position)
Description
stream_position(SorA, Position)은 스트림 항 또는 별칭 SorA의 현재 위치와 연관된 스트림 위치 항과 Position을 통일하며 성공해요. 이 술어는 stream_property/2(8.10.10절)로 정의될 수 있어요.
Errors
- SorA가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Position이 변수도 스트림 위치 항도 아님 —
domain_error(stream_position, Position) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA)
Portability: GNU Prolog 술어.
set_stream_position/2
Templates
set_stream_position(+stream_or_alias, +stream_position)
Description
set_stream_position(SorA, Position)은 스트림 항 또는 별칭 SorA와 연관된 스트림의 위치를 Position으로 설정해요. Position은 이전에 stream_property/2(8.10.10절) 또는 stream_position/2(8.10.12절)가 반환했어야 해요.
Errors
- SorA가 변수 —
instantiation_error - Position이 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Position이 변수도 스트림 위치 항도 아님 —
domain_error(stream_position, Position) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 스트림 속성 reposition(false)를 가짐 —
permission_error(reposition, stream, SorA)
Portability: ISO 술어.
seek/4
Templates
seek(+stream_or_alias, +stream_seek_method, +integer, ?integer)
Description
seek(SorA, Whence, Offset, NewOffset)은 Whence에 따라 스트림 항 또는 별칭 SorA와 연관된 스트림의 위치를 Offset으로 설정하고 파일 시작으로부터의 새 오프셋과 NewOffset을 통일해요. seek/4는 바이너리 스트림에서만 사용할 수 있어요. Whence는 다음 중 하나의 원자예요:
bof— 위치가 파일 시작에 상대적으로 설정됨(Offset은 ≥ 0이어야 함).current— 위치가 현재 위치에 상대적으로 설정됨(Offset은 ≥ 0 또는 ≤ 0일 수 있음).eof— 위치가 파일 끝에 상대적으로 설정됨(Offset은 ≤ 0이어야 함).
이 술어는 C Unix 함수 lseek(2)에 대한 인터페이스예요.
Errors
- SorA가 변수 —
instantiation_error - Whence가 변수 —
instantiation_error - Offset이 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Whence가 변수도 원자도 아님 —
type_error(atom, Whence) - Whence가 원자이지만 유효한 스트림 탐색 방법이 아님 —
domain_error(stream_seek_method, Whence) - Offset이 변수도 정수도 아님 —
type_error(integer, Offset) - NewOffset이 변수도 정수도 아님 —
type_error(integer, NewOffset) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 스트림 속성 reposition(false)를 가짐 —
permission_error(reposition, stream, SorA) - SorA가 텍스트 스트림과 연관됨 —
permission_error(reposition, text_stream, SorA)
Portability: GNU Prolog 술어.
character_count/2
Templates
character_count(+stream_or_alias, ?integer)
Description
character_count(SorA, Count)은 스트림 항 또는 별칭 SorA와 연관된 스트림에서 읽힌/쓰인 문자/바이트의 수와 Count를 통일해요.
Errors
- SorA가 변수 —
instantiation_error - Count가 변수도 정수도 아님 —
type_error(integer, Count) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA)
Portability: GNU Prolog 술어.
line_count/2
Templates
line_count(+stream_or_alias, ?integer)
Description
line_count(SorA, Count)은 스트림 항 또는 별칭 SorA와 연관된 스트림에서 읽힌/쓰인 줄의 수와 Count를 통일해요. 이 술어는 텍스트 스트림에서만 사용할 수 있어요.
Errors
- SorA가 변수 —
instantiation_error - Count가 변수도 정수도 아님 —
type_error(integer, Count) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 바이너리 스트림과 연관됨 —
permission_error(access, binary_stream, SorA)
Portability: GNU Prolog 술어.
line_position/2
Templates
line_position(+stream_or_alias, ?integer)
Description
line_position(SorA, Count)은 스트림 항 또는 별칭 SorA와 연관된 스트림의 현재 줄에서 읽힌/쓰인 문자의 수와 Count를 통일해요. 이 술어는 텍스트 스트림에서만 사용할 수 있어요.
Errors
- SorA가 변수 —
instantiation_error - Count가 변수도 정수도 아님 —
type_error(integer, Count) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 바이너리 스트림과 연관됨 —
permission_error(access, binary_stream, SorA)
Portability: GNU Prolog 술어.
stream_line_column/3
Templates
stream_line_column(+stream_or_alias, ?integer, ?integer)
Description
stream_line_column(SorA, Line, Column)은 스트림 항 또는 별칭 SorA와 연관된 스트림의 현재 줄 번호(각각 열 번호)와 Line(각각 Column)을 통일해요. 이 술어는 텍스트 스트림에서만 사용할 수 있어요. Line은 line_count/2(8.10.16절)가 반환한 값 + 1에, Column은 line_position/2(8.10.17절)가 반환한 값 + 1에 대응한다는 것을 참고해요.
Errors
- SorA가 변수 —
instantiation_error - Line이 변수도 정수도 아님 —
type_error(integer, Line) - Column이 변수도 정수도 아님 —
type_error(integer, Column) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 바이너리 스트림과 연관됨 —
permission_error(access, binary_stream, SorA)
Portability: GNU Prolog 술어.
set_stream_line_column/3
Templates
set_stream_line_column(+stream_or_alias, +integer, +integer)
Description
set_stream_line_column(SorA, Line, Column)은 줄 번호 Line과 열 번호 Column에 따라 스트림 항 또는 별칭 SorA와 연관된 스트림의 스트림 위치를 설정해요. 이 술어는 텍스트 스트림에서만 사용할 수 있어요. 먼저 스트림을 파일 시작으로 재배치한 다음 필요한 위치에 도달할 때까지 문자 하나씩 읽어요.
Errors
- SorA가 변수 —
instantiation_error - Line이 변수 —
instantiation_error - Column이 변수 —
instantiation_error - Line이 변수도 정수도 아님 —
type_error(integer, Line) - Column이 변수도 정수도 아님 —
type_error(integer, Column) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 바이너리 스트림과 연관됨 —
permission_error(reposition, binary_stream, SorA) - SorA가 스트림 속성 reposition(false)를 가짐 —
permission_error(reposition, stream, SorA)
Portability: GNU Prolog 술어.
add_stream_alias/2
Templates
add_stream_alias(+stream_or_alias, +atom)
Description
add_stream_alias(SorA, Alias)은 스트림 항 또는 별칭 SorA와 연관된 스트림에 새 별칭으로 Alias를 추가해요.
Errors
- SorA가 변수 —
instantiation_error - Alias가 변수 —
instantiation_error - Alias가 변수도 원자도 아님 —
type_error(atom, Alias) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - Alias가 이미 열린 스트림과 연관됨 —
permission_error(add_alias, source_sink, alias(Alias))
Portability: GNU Prolog 술어.
current_alias/2
Templates
current_alias(?stream, ?atom)
Description
current_alias(Stream, Alias)은 current_stream(Stream)이 성공하고(8.10.9절) Alias가 스트림의 별칭 중 하나와 통일하면 성공해요. stream_property/2(8.10.10절)로 정의될 수 있어요. 이 술어는 백트래킹 시 재실행 가능해요.
Errors
- Stream이 변수도 스트림 항도 아님 —
domain_error(stream, Stream) - Alias가 변수도 원자도 아님 —
type_error(atom, Alias)
Portability: GNU Prolog 술어.
add_stream_mirror/2
Templates
add_stream_mirror(+stream_or_alias, +stream_or_alias)
Description
add_stream_mirror(SorA, Mirror)은 스트림 항 또는 별칭 SorA와 연관된 스트림에 스트림 항 또는 별칭 Mirror와 연관된 스트림을 새 미러로 추가해요. 이후 SorA에서 읽힌(또는 쓰여진) 모든 문자(또는 바이트)가 Mirror에도 쓰여져요. 이 미러링은 Mirror가 remove_stream_mirror/2(8.10.23절)로 명시적으로 제거되거나 Mirror가 닫힐 때 암시적으로 제거될 때까지 계속돼요. 같은 스트림에 여러 미러 스트림이 연관될 수 있어요. Mirror가 SorA와 같은 스트림을 나타내거나 Mirror가 이미 SorA의 미러이면 미러가 추가되지 않아요.
Errors
- SorA가 변수 —
instantiation_error - Mirror가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Mirror가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, Mirror) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - Mirror가 열린 스트림과 연관되지 않음 —
existence_error(stream, Mirror) - Mirror가 입력 스트림 —
permission_error(output, stream, Mirror)
Portability: GNU Prolog 술어.
remove_stream_mirror/2
Templates
remove_stream_mirror(+stream_or_alias, +stream_or_alias)
Description
remove_stream_mirror(SorA, Mirror)은 스트림 항 또는 별칭 SorA와 연관된 스트림의 미러 목록에서 스트림 항 또는 별칭 Mirror와 연관된 스트림을 제거해요. Mirror가 SorA의 미러 스트림이 아니면 이 술어는 실패해요.
Errors
- SorA가 변수 —
instantiation_error - Mirror가 변수 —
instantiation_error - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - Mirror가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, Mirror) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - Mirror가 열린 스트림과 연관되지 않음 —
existence_error(stream, Mirror)
Portability: GNU Prolog 술어.
current_mirror/2
Templates
current_mirror(?stream, ?stream)
Description
current_mirror(Stream, M)은 current_stream(Stream)이 성공하고(8.10.9절) M이 스트림의 미러 중 하나와 통일하면 성공해요. stream_property/2(8.10.10절)로 정의될 수 있어요. 이 술어는 백트래킹 시 재실행 가능해요.
Errors
- Stream이 변수도 스트림 항도 아님 —
domain_error(stream, Stream) - M이 변수도 스트림 항도 아님 —
domain_error(stream, M)
Portability: GNU Prolog 술어.
set_stream_type/2
Templates
set_stream_type(+stream_or_alias, +atom)
Description
set_stream_type(SorA, Type)은 스트림 항 또는 별칭 SorA와 연관된 유형을 갱신해요. Type의 값은 open/4(8.10.6절)에서처럼 text 또는 binary 원자예요. 스트림의 유형은 어떤 입출력 연산이 실행되기 전에만 바꿀 수 있어요.
Errors
- SorA가 변수 —
instantiation_error - Type이 변수 —
instantiation_error - Type이 변수도 유효한 유형도 아님 —
domain_error(stream_type, Type) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - 입출력 연산이 이미 SorA에서 실행됨 —
permission_error(modify, stream, SorA)
Portability: GNU Prolog 술어.
set_stream_eof_action/2
Templates
set_stream_eof_action(+stream_or_alias, +atom)
Description
set_stream_eof_action(SorA, Action)은 스트림 항 또는 별칭 SorA와 연관된 eof_action 옵션을 갱신해요. Action의 값은 open/4(8.10.6절)에서처럼 error, eof_code, reset 중 하나의 원자예요.
Errors
- SorA가 변수 —
instantiation_error - Action이 변수 —
instantiation_error - Action이 변수도 유효한 eof 동작도 아님 —
domain_error(eof_action, Action) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA) - SorA가 출력 스트림 —
permission_error(modify, stream, SorA)
Portability: GNU Prolog 술어.
set_stream_buffering/2
Templates
set_stream_buffering(+stream_or_alias, +atom)
Description
set_stream_buffering(SorA, Buffering)은 스트림 항 또는 별칭 SorA와 연관된 버퍼링 모드를 갱신해요. Buffering의 값은 open/4(8.10.6절)에서처럼 none, line 또는 block 중 하나의 원자예요. 이 술어는 스트림을 연 후 그에 대한 다른 어떤 연산도 수행되기 전에만 사용될 수 있어요.
Errors
- SorA가 변수 —
instantiation_error - Buffering이 변수 —
instantiation_error - Buffering이 변수도 유효한 버퍼링 모드도 아님 —
domain_error(buffering_mode, Buffering) - SorA가 변수도 스트림 항 또는 별칭도 아님 —
domain_error(stream_or_alias, SorA) - SorA가 열린 스트림과 연관되지 않음 —
existence_error(stream, SorA)
Portability: GNU Prolog 술어.