ALPHANUMERICP — 문자나 숫자인지
ALPHANUMERICP — 문자나 숫자인지
ALPHANUMERICP는 함수예요. 주어진 문자가 알파벳 문자이거나 숫자 문자인지 확인하는 술어(predicate)예요. 문자와 숫자를 하나로 묶어 "식별자에 쓸 수 있는 글자류인가"를 판별할 때 유용해요.
본문
시그니처는 이렇게 생겼어요.
alphanumericp character => generalized-boolean
- character — 문자.
- generalized-boolean — generalized boolean(진리값).
동작은 이렇습니다. character가 알파벳 문자 또는 숫자 문자면 true를, 아니면 false를 반환해요.
(alphanumericp #\Z) => true
(alphanumericp #\9) => true
(alphanumericp #\Newline) => false
(alphanumericp #\#) => false
#\Z와 #\9는 각각 알파벳·숫자라 true, #\Newline과 #\#(기호)은 false가 돼요.
이 술어의 결과는 리드테이블에서 특별 문법이 활성화되어 있는지와 무관해요. 인자가 문자가 아니면 type-error 타입 오류를 신호해야 하죠.
알아두면 좋은 성질들이 있어요.
- 알파벳 문자열자(alphanumeric characters)는
graphic-char-p가 정의하는 그래픽 문자에 속해요. 즉 알파벳 문자열자는 그래픽 문자의 부분집합이에요. - 표준 문자 A부터 Z, a부터 z, 0부터 9는 모두 알파벳 문자열자예요.
이 술어는 다음 표현과 동치예요.
(alphanumericp x) == (or (alpha-char-p x) (not (null (digit-char-p x))))
alpha-char-p로 알파벳이거나, digit-char-p가 숫자라고 판정하는 경우를 OR로 묶은 셈이죠. 관련 함수로는 alpha-char-p, graphic-char-p, digit-char-p가 있어요.