GnuSmalltalkUsersGuide:BaseChapter 008
Jump to navigation
Jump to search
- Bag
Bag
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Collection
범주: 컬렉션-비정렬
- 나의 인스턴스들은 정렬되지 않은 객체의 컬렉션이다. 메모리가 있는 집합으로 생각할 수 있겠다; 그말인즉슨, 동일한 객체가 나에게 두 번 추가되면 나는 요소가 두 번 보관되었다고 보고할 것이다.
Bag 클래스: 기본
new
수신자의 새 인스턴스를 응답하라.
new: size
크기가 다른 객체들을 위한 공간이 있는 수신자의 새 인스턴스를 응답하라.
Bag: 추가하기
add: newObject
수신자에게 newObject의 발생을 추가하라. newObject를 응답하라. newObject가 nil일 경우 실패한다.
add: newObject withOccurrences: anInteger
anInteger>0인 경우 newObject의 anInteger 발생을 수신자에게 추가하라. anInteger<0인 경우 제거하라. newObject를 응답하라. newObject가 nil인 경우 실패한다.
Bag: 컬렉션 요소 열거하기
asSet
수신자의 요소로 된 집합을 응답하라.
do: aBlock
컬렉션의 모든 멤버에 대해 블록을 평가하라.
Bag: 항목 추출하기
sortedByCount
내림차순(decreasing count)으로 정렬된 요소들이 있는 count의 컬렉션을 응답하라.
Bag: 인쇄하기
printOn: aStream
수신자의 표현을 aStream에 놓아라.
Bag: 제거하기
remove: oldObject ifAbsent: anExceptionBlock
컬렉션으로부터 oldObject를 제거하여 리턴하라. 찾을 수 없다면 anExceptionBlock을 평가한 결과를 대신 응답하라.
Bag: 보관하기
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드 일부를 aStream에 놓아라.
Bag: 컬렉션 검사하기
= aBag
수신자와 aBag가 동일한 객체를 포함하는지 여부를 응답하라.
hash
수신자에 대한 해시값을 응답하라.
includes: anObject
우리가 anObject를 포함하는지 여부를 응답하라.
occurrencesOf: anObject
수신자에서 발견되는 anObject의 발생 횟수를 응답하라.
size
수신자에서 발견되는 총 객체 개수를 응답하라.