GnuSmalltalkUsersGuide:BaseChapter 028

From 흡혈양파의 번역工房
Jump to navigation Jump to search
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를 응답하라. 우리는 완전한 문자다.


Notes