GnuSmalltalkUsersGuide:BaseChapter 140
- 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 상에 인쇄하라.