GnuSmalltalkUsersGuide:BaseChapter 140

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Regex

Regex

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: Object

범주: 컬렉션-텍스트


Regex는 정규 표현식 matcher가 컴파일된 표현을 캐시저장하여 매칭(matching) 속도를 증가하도록 해주는 읽기만 가능한 문자열이다. Regex 객체는 같은 표현식을 여러 번 매칭할 것으로 기대하는 메서드에 의해 자동으로 구성되지만 String이나 Symbol로 #asRegex를 전송하여 명시적으로 구성할 수도 있다.
루프 내부에서 Regex 객체의 생성은 물론 루프 외부에서 생성되는 것보다 느리지만 가능한 한 같은 Regex 객체가 사용되도록 특별히 주의를 기울여야 한다 (Strings를 Regex로 변환할 때는 이미 구성되고 동등한 Regex를 캐시에서 검색한다.)


Regex 클래스: 인스턴스 생성

fromString: aString

'aString asRegex'와 같다.

new

이 메시지를 전송하지 말라.


Regex: 기본

at: anIndex put: anObject

실패한다. Regex 객체는 읽기만 가능하다.

copy

수신자를 응답하라; Regex 의 인스턴스들은 정체성 객체인데, 유일한 목적은 캐싱을 용이하게 만드는 것이며 Regex 객체의 복사를 피할 경우 더 나은 캐싱을 얻을 수 있기 때문이다.


Regex: 변환

asRegex

Regex에 *해당하는* 수신자를 응답하라!

asString

다시 String으로 변환된 수신자를 응답하라.

species

'String'를 응답하라.


Regex: 인쇄하기

displayOn: aStream

수신자의 표현을 aStream 상에 인쇄하라. 대부분 객체의 경우 단순히 그것의 #printOn: 표현에 해당하지만, 문자열과 문자의 경우 불필요한 달러나 큰따옴표 쌍이 제거된다.

displayString

수신자를 나타내는 String을 응답하라. 대부분 객체의 경우 단순히 그것의 #printString 표현에 해당하지만, 문자열과 문자의 경우 불필요한 달러나 큰따옴표 쌍이 제거된다.

printOn: aStream

수신자의 표현을 aStream 상에 인쇄하라.


Notes