GnuSmalltalkUsersGuide:BaseChapter 103
Jump to navigation
Jump to search
- 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 상에 인쇄하라.