GnuSmalltalkUsersGuide:BaseChapter 153

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