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