GnuSmalltalkUsersGuide:BaseChapter 028
- Character
Character
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Magnitude
범주:언어-데이터 타입
- 나의 인스턴스들은 문자집합의 256개 문자를 표현한다. 나는 정수와 문자 객체 간 번역이 가능하도록 메시지를 제공하고, 공통된 인쇄 불가 문자 일부에 대해 이름을 제공한다. 코드 포인트가 0과 127 사이인 문자를 참조 시에는 항시 문자가 사용된다 (대부분 성능을 이유로). 127을 넘으면 좀 더 많은 주의가 요구된다; Character는 문자의 인코딩 일부로 사용되는 바이트를 참조하는 반면 UnicodeCharacter는 문자 자체를 참조한다.
Character 클래스: 빌드된 ins
asciiValue: anInteger
anInteger에 상응하는 문자 객체를 리턴한다. anInteger가 정수가 아니거나 0..127를 벗어나면 오류가 발생한다.
codePoint: anInteger
anInteger에 상응하는 문자 객체, 아마도 UnicodeCharacter를 리턴할 것이다. anInteger가 정수가 아니거나 0..16r10FFFF 를 벗어나면 오류가 발생한다.
value: anInteger
anInteger에 상응하는 문자 객체를 리턴한다. anInteger가 정수가 아니거나 0..255를 벗어나면 오류가 발생한다.
Character 클래스: 상수
backspace
'backspace' 문자를 리턴한다.
bell
'bel' 문자를 리턴한다.
cr
'cr' 문자를 리턴한다.
eof
'sub'으로도 알려진 'eof' 문자를 리턴한다.
eot
'Ctrl-D'로도 알려진 'eot' 문자를 리턴한다.
esc
'esc' 문자를 리턴한다.
ff
'newPage'로도 알려진 'ff' 문자를 리턴한다.
lf
'nl'로도 알려진 'lf' 문자를 리턴한다.
newPage
'ff'로도 알려진 'newPage' 문자를 리턴한다.
nl
'lf '로도 알려진 'nl' 문자를 리턴한다.
nul
'nul' 문자를 리턴한다.
space
'space' 문자를 리턴한다.
tab
'tab' 문자를 리턴한다.
Character 클래스: 검색 테이블 초기화하기
initialize
case와 digit-to-char 변환을 훨씬 빠르게 만드는 데 사용되는 검색 테이블을 초기화하라. 테이블 내 색인은 하나씩 증가하는 ASCII 값이다. 1-256 색인은 chars를 분류하고 (0 = 특별하지 않음, 2 = 구분자, 48 = 자릿수, 55 = 대문자, 3 = 소문자), 257-512 색인은 소문자 chars를 매핑하며, 513-768 색인은 대문자 chars로 매핑한다.
Character 클래스: 인스턴스 생성
digitValue: anInteger
anInteger에 상응하는 문자를 리턴한다. 0-9 은 $0-$9로, 10-35는 $A-$Z로 매핑된다.
Character 클래스: 검사하기
isImmediate
x가 수신자의 인스턴스인 경우 x copy ==x인지를 응답하라.
Character: 빌드된 ins
= char
부울 리턴 값; 문자가 동등할 경우 true.
asInteger
self에 상응하는 정수 값을 리턴한다. #codePoint, #asciiValue, -#value, #asInteger는 모두 동의어다.
asciiValue
self에 상응하는 정수 값을 리턴한다. #codePoint, #asciiValue, -#value, #asInteger는 모두 동의어다.
codePoint
self에 상응하는 정수 값을 리턴한다. #codePoint, #asciiValue, -#value, #asInteger는 모두 동의어다.
value
self에 상응하는 정수 값을 리턴한다. #codePoint, #asciiValue, -#value, #asInteger는 모두 동의어다.
Character: 강제 유형 변환(coercion) 메서드
* aNumber
수신자의 aNumber 발생으로 된 String을 리턴한다.
asLowercase
self가 대문자인 경우 소문자로 리턴하고, 나머지 경우는 문자를 변경하지 않은 채로 리턴한다.
asString
문자 self를 문자열로서 리턴한다. 문자가 0-255 범위에 있을 때에만 유효하다.
asSymbol
문자 self를 부호로서 리턴한다.
asUnicodeString
문자 self를 Unicode 문자열로서 리턴한다.
asUppercase
self가 소문자인 경우 대문자로 리턴하고, 나머지 경우는 문자를 변경하지 않은 채로 리턴한다.
Character: 비교하기
< aCharacter
문자의 ASCII 값을 비교하라. 수신자의 값이 가장 적은지 응답하라.
<= aCharacter
문자의 ASCII 값을 비교하라. 수신자의 값이 가장 적거나 같은지를 응답하라.
> aCharacter
문자의 ASCII 값을 비교하라. 수신자의 값이 가장 큰지 응답하라.
>= aCharacter
문자의 ASCII 값을 비교하라. 수신자의 값이 가장 크거나 같은지 응답하라.
Character: 변환하기
asCharacter
수신자가 이미 문자이므로 수신자를 리턴하라.
digitValue
digit로 해석된 self의 값을 리턴하라. 여기서 'digit'는 0-9 사이의 값이나, 10-35로 매핑되는 A-Z를 의미한다.
Character: 인쇄하기
displayOn: aStream
수신자의 표현을 aStream 상에 인쇄하라. #printOn: 와 달리 해당 메서드는 맨 앞에 달러 표시를 없앤다.
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
storeLiteralOn: aStream
수신자로 컴파일하는 일부 스몰토크 코드를 aStream에 보관하라.
Character: 보관하기
isLiteralObject
수신자를 스몰토크 리터럴로 표현 가능한지 응답하라.
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드를 aStream에 보관하라.
Character: 검사하기
isAlphaNumeric
self가 글자이거나 digit(0부터 9까지 숫자)일 경우 true.
isDigit
self가 0-9 까지 숫자일 경우 true.
isDigit: radix
수신자가 주어진 기수(radix) 내에서 유효한 문자인지 응답하라.
isLetter
self가 대문자이거나 소문자인 경우 true.
isLowercase
self가 소문자인 경우 true.
isPathSeparator
self가 경로 구분자(Windows에서 $/ 또는 $\, Mac OS X를 포함해 Unix 시스템에서는 $/ 만 해당)인 경우 true를 리턴한다.
isPunctuation
self가'.,:;!?'중 하나라면 true를 리턴한다.
isSeparator
self가 공백, cr, tab, nl, newPage 중 하나라면 true를 리턴한다.
isUppercase
self가 대문자인 경우 true.
isVowel
self가 a, e, i, o, or u 중 하나인 경우 true를 리턴한다; 대소문자 상관없음
Character: 기능 검사하기
isCharacter
true를 응답하라. 우리는 완전한 문자다.