GnuSmalltalkUsersGuide:BaseChapter 005

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