상수 항으로의/으로부터의 입출력

상수 항으로의/으로부터의 입출력

Prolog 항을 Prolog 상수 항(원자, 문자 리스트 또는 문자 코드 리스트)으로/으로부터 입출력하게 해주는 술어들을 설명해요.

출처: GNU Prolog Manual - Input/output from/to constant terms

본문

이 내장 술어들은 Prolog 항을 Prolog 상수 항(원자, 문자 리스트 또는 문자 코드 리스트)으로/으로부터 입출력할 수 있게 해줘요. 이 모든 술어들은 상수 항 스트림(8.11절)을 사용해 정의될 수 있지만, 더 사용하기 단순해요.

read_term_from_atom/3, read_from_atom/2, read_token_from_atom/2

Templates

read_term_from_atom(+atom, ?term, +read_option_list)
read_from_atom(+atom, ?term)
read_token_from_atom(+atom, ?nonvar)

Description read_term/3, read/2(8.14.1절), read_token/2(8.14.3절)와 같지만, 문자를 텍스트 스트림이 아니라 첫 번째 인자로 주어지는 원자 Atom에서 읽어요.

Errors

  • Atom이 변수 - instantiation_error
  • Atom이 변수도 원자도 아님 - type_error(atom, Atom)
  • 관련 술어 오류(8.14.1절 및 8.14.3절) 참조.

Portability: GNU Prolog 술어.

read_term_from_chars/3, read_from_chars/2, read_token_from_chars/2

Templates

read_term_from_chars(+character_list, ?term, +read_option_list)
read_from_chars(+character_list, ?term)
read_token_from_chars(+character_list, ?nonvar)

Description read_term/3, read/2(8.14.1절), read_token/2(8.14.3절)와 같지만, 문자를 텍스트 스트림이 아니라 첫 번째 인자로 주어지는 문자 리스트 Chars에서 읽어요.

Errors

  • Chars가 부분 리스트이거나 변수인 요소 E를 가진 리스트 - instantiation_error
  • Chars가 부분 리스트도 리스트도 아님 - type_error(list, Chars)
  • Chars 리스트의 어떤 요소 E가 변수도 문자도 아님 - type_error(character, E)
  • 관련 술어 오류(8.14.1절 및 8.14.3절) 참조.

Portability: GNU Prolog 술어.

read_term_from_codes/3, read_from_codes/2, read_token_from_codes/2

Templates

read_term_from_codes(+character_code_list, ?term, +read_option_list)
read_from_codes(+character_code_list, ?term)
read_token_from_codes(+character_code_list, ?nonvar)

Description read_term/3, read/2(8.14.1절), read_token/2(8.14.3절)와 같지만, 문자를 텍스트 스트림이 아니라 첫 번째 인자로 주어지는 문자 코드 리스트 Codes에서 읽어요.

Errors

  • Codes가 부분 리스트이거나 변수인 요소 E를 가진 리스트 - instantiation_error
  • Codes가 부분 리스트도 리스트도 아님 - type_error(list, Codes)
  • Codes 리스트의 어떤 요소 E가 변수도 정수도 아님 - type_error(integer, E)
  • Codes 리스트의 어떤 요소 E가 정수이지만 문자 코드가 아님 - representation_error(character_code, E)
  • 관련 술어 오류(8.14.1절 및 8.14.3절) 참조.

Portability: GNU Prolog 술어.

write_term_to_atom/3, write_to_atom/2, writeq_to_atom/2, write_canonical_to_atom/2, display_to_atom/2, print_to_atom/2, format_to_atom/3

Templates

write_term_to_atom(?atom, ?term, +write_option_list)
write_to_atom(?atom, ?term)
writeq_to_atom(?atom, ?term)
write_canonical_to_atom(?atom, ?term)
display_to_atom(?atom, ?term)
print_to_atom(?atom, ?term)
format_to_atom(?atom, +character_code_list_or_atom, +list)

Description write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2(8.14.6절) 및 format/3(8.14.7절)와 같지만, 문자를 텍스트 스트림이 아니라 원자로 수집하여 첫 번째 인자 Atom과 통일해요.

Errors

  • Atom이 변수도 원자도 아님 - type_error(atom, Atom)
  • 관련 술어 오류(8.14.6절 및 8.14.7절) 참조.

Portability: GNU Prolog 술어.

write_term_to_chars/3, write_to_chars/2, writeq_to_chars/2, write_canonical_to_chars/2, display_to_chars/2, print_to_chars/2, format_to_chars/3

Templates

write_term_to_chars(?character_list, ?term, +write_option_list)
write_to_chars(?character_list, ?term)
writeq_to_chars(?character_list, ?term)
write_canonical_to_chars(?character_list, ?term)
display_to_chars(?character_list, ?term)
print_to_chars(?character_list, ?term)
format_to_chars(?character_list, +character_code_list_or_atom, +list)

Description write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2(8.14.6절) 및 format/3(8.14.7절)와 같지만, 문자를 텍스트 스트림이 아니라 문자 리스트로 수집하여 첫 번째 인자 Chars와 통일해요.

Errors

  • Chars가 부분 리스트도 리스트도 아님 - type_error(list, Chars)
  • Chars 리스트의 어떤 요소 E가 변수도 한 문자 원자도 아님 - type_error(character, E)
  • 관련 술어 오류(8.14.6절 및 8.14.7절) 참조.

Portability: GNU Prolog 술어.

write_term_to_codes/3, write_to_codes/2, writeq_to_codes/2, write_canonical_to_codes/2, display_to_codes/2, print_to_codes/2, format_to_codes/3

Templates

write_term_to_codes(?character_code_list, ?term, +write_option_list)
write_to_codes(?character_code_list, ?term)
writeq_to_codes(?character_code_list, ?term)
write_canonical_to_codes(?character_code_list, ?term)
display_to_codes(?character_code_list, ?term)
print_to_codes(?character_code_list, ?term)
format_to_codes(?character_code_list, +character_code_list_or_atom, +list)

Description write_term/3, write/2, writeq/2, write_canonical/2, display/2, print/2(8.14.6절) 및 format/3(8.14.7절)와 같지만, 문자를 텍스트 스트림이 아니라 문자 코드 리스트로 수집하여 첫 번째 인자 Codes와 통일해요.

Errors

  • Codes가 부분 리스트도 리스트도 아님 - type_error(list, Codes)
  • Codes 리스트의 어떤 요소 E가 변수도 정수도 아님 - type_error(integer, E)
  • Codes 리스트의 어떤 요소 E가 정수이지만 문자 코드가 아님 - representation_error(character_code)
  • 관련 술어 오류(8.14.6절 및 8.14.7절) 참조.

Portability: GNU Prolog 술어.

더 알아보기