LISP-문자

LISP에서 문자는 유형의 데이터 오브젝트로 표시됩니다. character.

문자 앞에 # \ 앞에있는 문자 객체를 표시 할 수 있습니다. 예를 들어, # \ a는 문자 a를 의미합니다.

공백 및 기타 특수 문자는 문자 이름 앞에 # \ 앞에 표시 될 수 있습니다. 예를 들어 # \ SPACE는 공백 문자를 나타냅니다.

다음 예제는 이것을 보여줍니다-

main.lisp라는 새 소스 코드 파일을 만들고 그 안에 다음 코드를 입력합니다.

(write 'a)
(terpri)
(write #\a)
(terpri)
(write-char #\a)
(terpri)
(write-char 'a)

코드를 실행하면 다음 결과가 반환됩니다.

A
#\a
a
*** - WRITE-CHAR: argument A is not a character

특수 문자

Common LISP를 사용하면 코드에서 다음 특수 문자를 사용할 수 있습니다. 이를 준 표준 문자라고합니다.

  • #\Backspace
  • #\Tab
  • #\Linefeed
  • #\Page
  • #\Return
  • #\Rubout

문자 비교 기능

숫자 비교 함수 및 연산자 (예 : <및>)는 문자에서 작동하지 않습니다. Common LISP는 코드에서 문자를 비교하기위한 다른 두 가지 기능 세트를 제공합니다.

한 세트는 대소 문자를 구분하고 다른 세트는 대소 문자를 구분하지 않습니다.

다음 표는 기능을 제공합니다-

대소 문자 구분 함수 대소 문자를 구분하지 않는 함수 기술
char = char-equal 피연산자의 값이 모두 같은지 확인합니다. 그렇다면 조건이 참이됩니다.
char / = 같지 않은 문자 피연산자의 값이 모두 다른지 확인하고 값이 같지 않으면 조건이 참이됩니다.
char < charlessp 피연산자의 값이 단조 감소하는지 확인합니다.
char> char-greaterp 피연산자의 값이 단조롭게 증가하는지 확인합니다.
char <= char-not-greaterp 왼쪽 피연산자의 값이 다음 오른쪽 피연산자의 값보다 크거나 같은지 확인하고, 그렇다면 조건이 참이됩니다.
char> = char-not-lessp 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인합니다. 그렇다면 조건이 참이됩니다.

main.lisp라는 새 소스 코드 파일을 만들고 그 안에 다음 코드를 입력합니다.

; case-sensitive comparison
(write (char= #\a #\b))
(terpri)
(write (char= #\a #\a))
(terpri)
(write (char= #\a #\A))
(terpri)
   
;case-insensitive comparision
(write (char-equal #\a #\A))
(terpri)
(write (char-equal #\a #\b))
(terpri)
(write (char-lessp #\a #\b #\c))
(terpri)
(write (char-greaterp #\a #\b #\c))

코드를 실행하면 다음 결과가 반환됩니다.

NIL
T
NIL
T
NIL
T
NIL