GnuSmalltalkUsersGuide:BaseChapter 140

From 흡혈양파의 번역工房
Jump to navigation Jump to search
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