GnuSmalltalkUsersGuide:BaseChapter 103

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

LookupTable

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: Dictionary

범주: 컬렉션-Keyed


나는 키-값 쌍의 보관에 Associations를 사용하지 않기 때문에 변수의 pool dictionary로서 사용될 수 없는 Dictionary의 효율적인 변형체에 속한다. 또한 nil을 키로 가질 수 없다; nil을 키로 보관할 수 있으려면 Dictionary를 대신 이용해야 한다. 나는 색인의 등가성을 알아내기 위한 객체 일치성 비교 메시지로 #= 를 사용한다.


LookupTable 클래스: 인스턴스 생성

new

기본 크기로 된 새 LookupTable 를 생성하라.


LookupTable: 접근하기

add: anAssociation

anAssociation 키를 수신자에게 추가하라.

associationAt: key ifAbsent: aBlock

주어진 키로 된 키/값 Association을 응답하라. 키가 발견되지 않은 경우 aBlock를 평가하라(결과를 응답).

at: key ifAbsent: aBlock

주어진 키와 연관된 값을 응답하고, 키가 발견되지 않은 경우 aBlock를 평가한 결과를 응답하라.

at: aKey ifPresent: aBlock

aKey가 없는 경우 nil을 응답하라. 그 외의 경우 aBlock을 평가하고 연관된 값을 전달하며 호출 결과를 응답하라.

at: key put: value

값을 주어진 키와 연관된 것으로 보관하라.


LookupTable: 열거하기

associationsDo: aBlock

LookupTable 내 각 연관을 aBlock으로 전달하라.

do: aBlock

LookupTable 내 각 값을 aBlock으로 전달하라.

keysAndValuesDo: aBlock

LookupTable 내 각 키/값 쌍을 두 개의 구분된 매개변수로서 aBlock으로 전달하라.

keysDo: aBlock

LookupTable 내 각 키를 aBlock으로 전달하라.


LookupTable: 해싱하기

hash

수신자에 대한 해시값을 응답하라.


LookupTable: 재해싱하기

rehash

수신자를 재해싱하라.


LookupTable: 제거하기

remove: anAssociation

dictionary로부터 anAssociation의 키를 제거하라.

remove: anAssociation ifAbsent: aBlock

dictionary로부터 anAssociation의 키를 제거하라.

removeKey: key ifAbsent: aBlock

전달된 키를 LookupTable로부터 제거하고, 발견되지 않은 경우 aBlock을 평가한 결과를 응답하라.


LookupTable: 보관하기

storeOn: aStream

수신자로 컴파일하는 스몰토크 코드를 aStream 상에 인쇄하라.



Notes