GnuSmalltalkUsersGuide:BaseChapter 005

From 흡혈양파의 번역工房
Jump to navigation Jump to search
ArrayedCollection

ArrayedCollection

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: SequenceableCollection

범주: 컬렉션-순차 가능


나의 인스턴스들은 일반적으로 크기가 고정되어 있고 정수 색인에 의해 접근이 가능한 객체들이다. 나의 인스턴스의 요소 정렬은 외부적으로 결정된다; 나는 요소의 정렬을 재배열하지 않을 것이다.


ArrayedCollection 클래스: 인스턴스 생성

join: aCollection

aCollection이 SequenceableCollections의 컬렉션이라면 모든 요소들이 적절하게 정렬되어 있는 새 인스턴스를 응답하라.

join: aCollection separatedBy: sepCollection

aCollection이 SequenceableCollections의 컬렉션이라면 모든 요소들이 적절하게 정렬되어 있고 각 요소가 sepCollection의 발생에 따라 구분되어 있는 새 인스턴스를 응답하라.

new: size withAll: anObject

크기가 주어지고 요소들이 모두 anObject로 설정된 컬렉션을 응답하라.

streamContents: aBlock

수신자의 빈 인스턴스에 ReadWriteStream을 생성하라; 스트림을 aBlock으로 전달한 후 그 내용을 검색하여 응답하라.

with: element1

element1 를 유일한 요소로 가진 컬렉션을 응답하라.

with: element1 with: element2

전달된 순서로 된 매개변수를 유일한 요소로 가진 컬렉션을 응답하라.

with: element1 with: element2 with: element3

전달된 순서로 된 매개변수를 유일한 요소로 가진 컬렉션을 응답하라.

with: element1 with: element2 with: element3 with: element4

전달된 순서로 된 매개변수를 유일한 요소로 가진 컬렉션을 응답하라.

with: element1 with: element2 with: element3 with: element4 with: element5

전달된 순서로 된 매개변수를 유일한 요소로 가진 컬렉션을 응답하라.

withAll: aCollection

aCollection에 있는 것과 동일한 요소를 가진 컬렉션을 응답하라.


ArrayedCollection: 기본

, aSequenceableCollection

수신자 내 모든 요소 다음에 aSequenceableCollection 내 모든 요소를 포함하는 ArrayedCollection의 새 인스턴스를 응답하라.

add: value

이 클래스의 인스턴스에 대해 해당 메서드를 호출해선 안 된다.

atAll: keyCollection

주어진 색인에서 값만 포함하는 #collect: 가 리턴한 것과 동일한 종류의 컬렉션을 응답하라. keyCollection 내 어떤 값이라도 수신자 범위에서 벗어나면 실패한다.

copyFrom: start to: stop

start-th부터 stop-th까지 수신자 내 모든 항목을 포함하는 새 컬렉션을 응답하라.

copyWith: anElement

수신자 내 모든 요소 다음에 단일 항목 anElement를 포함하는 ArrayedCollection의 새 인스턴스를 응답하라.

copyWithout: oldElement

oldElement의 모든 발생이 제거된 수신자의 복사본을 응답하라.


ArrayedCollection: 빌드된 ins

size

수신자의 크기를 응답하라.


ArrayedCollection: 컬렉션 복사하기

copyReplaceAll: oldSubCollection with: newSubCollection

oldSubCollection에 일치하는 모든 시퀀스가 newSubCollection으로 대체되는 새 컬렉션을 응답하라.

copyReplaceFrom: start to: stop with: replacementCollection

색인 'start'부터 색인 'stop'까지 요소를 제외하고 수신자와 동일한 요소를 동일한 순서로 포함하는 수신자와 똑같은 클래스의 새 컬렉션을 응답하라.

start<stop인 경우 이들은 replacementCollection의 내용으로 대체된다. 대신 'copyReplaceFrom: 4to: 3 with: anArray'처럼 start=(stop+1)인 경우, 수신자의 모든 요소는 응답된 복사본에 존재할 것이다; stop이 수신자의 크기와 동일할 경우 append가 연산이 될 것이고, 그렇지 않을 경우 색인 'start' 앞에 insert가 연산이 될 것이다.

copyReplaceFrom: start to: stop withObject: anObject

색인 'start'부터 색인 'stop'까지 요소를 제외하고 수신자와 동일한 요소를 동일한 순서로 포함하는 수신자와 똑같은 클래스의 새 컬렉션을 응답하라.

start<stop인 경우 이들은 anObject의 stop-start+1 복사본으로 대체된다. 대신 start=(stop+1)인 경우 수신자의 모든 요소는 응답된 복사본에 존재할 것이다; stop이 수신자의 크기와 동일할 경우 append가 연산이 될 것이고, 그렇지 않을 경우 색인 'start' 앞에 insert가 연산이 될 것이다.

reverse 수신자의 내용을 반대 순서로 응답하라.


ArrayedCollection: 컬렉션 요소 열거하기

collect: aBlock

수신자의 각 요소를 전달하는 aBlock을 평가한 모든 결과를 포함하는 ArrayedCollection의 새 인스턴스를 응답하라.

reject: aBlock

aBlock으로 전달할 때 false를 답한 수신자 내 모든 요소들을 포함하는 ArrayedCollection의 새 인스턴스를 응답하라.

select: aBlock

aBlock으로 전달할 때 true를 답한 수신자 내 모든 요소들을 포함하는 ArrayedCollection의 새 인스턴스를 응답하라.

with: aSequenceableCollection collect: aBlock

수신자와 aSequenceableCollection에서 각각 취한 요소 쌍마다 aBlock을 평가하라; 수신자와 유형이 동일하고 블록의 리턴 값으로 구성된 컬렉션을 응답하라. 수신자가 aSequenceableCollection과 크기가 같지 않은 경우 실패한다.


ArrayedCollection: 보관하기

storeOn: aStream

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


ArrayedCollection: 스트림

writeStream

수신자 상의 WriteStream 스트리밍을 응답하라.


Notes