GnuSmalltalkUsersGuide:BaseChapter 153

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.
SortedCollection

SortedCollection

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: OrderedCollection

범주: 컬렉션-순차 가능


나는 일부 정렬 기준에 따라 보관 및 접근되는 객체의 컬렉션이다. 나는 힙 정렬과 빠른 정렬을 이용해 대상을 보관한다. 나의 인스턴스들은 자신들과 연관된 비교 블록을 갖는다; 해당 블록은 두 개의 인자를 취하며, 첫 번째 인자를 두 번째 인자보다 먼저 정렬해야 하는 경우 true를 리턴한다. 기본 블록은 [ :a :b | a <= b ] 지만 위의 기준을 준수하는 블록이라면 무엇이든 허용할 것이다-사실 #value:value: 에 응하는 객체라면 무엇이든.


SortedCollection 클래스: 해킹(hacking)

defaultSortBlock

수신자에 대한 기본 정렬 블록을 응답하라.


SortedCollection 클래스: 인스턴스 생성

new

기본 크기와 정렬 블록으로 된 새 컬렉션을 응답하라.

new: aSize

기본 정렬 블록과 주어진 크기로 된 새 컬렉션을 응답하라.

sortBlock: aSortBlock

기본 크기와 주어진 정렬 블록으로 된 새 컬렉션을 응답하라.


SortedCollection: 기본

last

수신자의 마지막 항목을 응답하라.

removeLast

수신자의 끝에서 객체를 제거하라. 수신자가 비어 있는 경우 실패한다.

sortBlock

수신자의 정렬 기준을 응답하라.

sortBlock: aSortBlock

정렬된 컬렉션에 대한 정렬 기준을 변경하고, 컬렉션의 요소를 재정렬하여 리턴하라.


SortedCollection: 복사하기

copyEmpty: newSize

수신자와 같은 정렬 블록으로 된 수신자의 빈 복사본을 응답하라.


SortedCollection: 비활성화됨

add: anObject afterIndex: i

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

addAll: aCollection afterIndex: i

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

addAllFirst: aCollection

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

addAllLast: aCollection

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

addFirst: anObject

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

addLast: anObject

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.

at: index put: anObject

이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.


SortedCollection: 열거하기

beConsistent

#do: 또는 다른 열거 메서드를 이용해 수신자를 walk through하도록 준비시켜라.


SortedCollection: 저장하기와 로딩하기

postLoad

nil인 경우 기본 sortBlock을 복구시켜라.

preStore

기본 sortBlock을 nil로 보관하라.


SortedCollection: 검색하기

includes: anObject

Private - 수신자가 anobject와 같은 항목을 포함하는지 응답하라.

indexOf: anObject startingAt: index ifAbsent: aBlock

anElement를 포함하면서 anIndex보다 큰 첫 번째 색인을 응답하라. 어떤 항목도 발견되지 않는 경우 exceptionBlock을 호출하여 그 결과를 응답하라.

occurrencesOf: anObject

수신자 내에서 얼마나 많은 anObject의 발생을 발견할 수 있는지 응답하라.


Notes