It is useful for implementing functionality, that is inherited by such classes as:
+ with :(int) nArgs,...Returns a new object with nArgs elements. For example,
creates a collection and adds anObject and otherObject to it. In a similar way, Set or Tree instances can be created like this.id myCollection = [OrdCltn with:2,anObject,otherObject];
This (factory) method has the same name as the instance method add: and can be used as follows, in circumstances when the user does not want to allocate a collection unless it is actually used :
See also: addAll:
If aCol is the same object as the receiver, it empties itself using emptyYourself and returns the receiver.
Evaluates noneBlock if there's no element for which aBlock evaluates to something that isTrue, and returns the return value of that block. For example,
This message will return a subset of the receiver containing all elements for which testBlock evaluates to an Object that isFalse. For example,
with:with:
+ with : firstObject with : nextObject
This method is equivalent to with: 2,firstObject,nextObject.
add:
+ add : firstObject
This method is equivalent to with: 1,firstObject.
This shows that creation of the collection is delayed until it is actually needed. If the collection already exists, objects are simply added, using the instance method add:.
myCollection = [ (myCollection)?myCollection:OrdCltn add:myObject ];
includesAllOf:
- (BOOL) includesAllOf : aCol
Answer whether all the elements of aCol are in the receiver, by sending includes: for each individual element.
includesAnyOf:
- (BOOL) includesAnyOf : aCol
Answer whether any element of aCol is in the receiver, by sending includes: for each individual element.
addContentsTo:
- addContentsTo : aCol
Adds every element of the receiver to aCol and returns aCol. If aCol is nil, returns nil. The argument aCol need not actually be a collection, as long as it responds to add: in the same way as collections do.
addContentsOf:
- addContentsOf : aCol
Adds each member of aCol to the receiver. Returns the receiver. If aCol is nil, no action is taken. The argument aCol need not be a collection, so long as it responds to eachElement in the same way as collections do.
addAll:
- addAll : aCol
This method is equivalent to addContentsOf:.
removeContentsOf:
- removeContentsOf : aCol
Removes each of the members of aCol from the receiver. Returns the receiver. The argument aCol need not be a collection, as long as it responds to eachElement as collections do.
removeContentsFrom:
- removeContentsFrom : aCol
Removes each of the members of the receiver from aCol. Returns the receiver. The argument aCol need not be a collection, as long as it responds to remove: in the same way as collections.
removeAll:
- removeAll : aCol
This method is equivalent to removeContentsOf:.
asSet
- asSet
Creates a Set instance and adds the contents of the object to the set.
asOrdCltn
- asOrdCltn
Creates a OrdCltn instance and adds the contents of the object to the set.
do:
- do : aBlock
Evaluates aBlock for each element in the collection and returns self. aBlock must be a block taking one object (element) as argument; the return value of the block is ignored by this method.
detect:
- detect : aBlock
This message returns the first element in the receiver for which aBlock evaluates to something that isTrue. For example, the following :
Returns nil if there's no element for which aBlock evaluates to something that isTrue.
[ aCollection detect: { id each | [each idEqual:anObject] } ];
detect:ifNone:
- detect : aBlock ifNone : noneBlock
This message returns the first element in the receiver for which aBlock evaluates to something that isTrue.
[ aCollection detect: {id e | [e idEqual:anObject]} ifNone: {anObject} ];
select:
- select : testBlock
This message will return a subset of the receiver containing all elements for which testBlock evaluates to an Object that isTrue. For example,
Returns a new empty instance of the same class as the receiver, if there's no element for which testBlock evaluates to something that isTrue.
[ aCollection select: { id each | [each idEqual:anObject] } ];
reject:
- reject : testBlock
Complement of select:
Returns a new empty instance of the same class as the receiver, if there's no element for which testBlock evaluates to something that isFalse.
[ aCollection reject: { id each | [each idEqual:anObject] } ];
collect:
- collect : transformBlock
This message creates and returns a new collection of the same size and type as the receiver. The elements are the result of performing transformBlock on each element in the receiver (elements for which the Block would return nil are filtered out).
count:
- (unsigned) count : aBlock
Evaluate aBlock with each of the receiver's elements as the argument. Return the number that answered a non-nil value.
elementsPerform:
- elementsPerform :(SEL) aSelector
Send aSelector to all objects in the collection, starting from the object at offset 0. For Stepstone compatibility. Producer uses this.
elementsPerform:with:
- elementsPerform :(SEL) aSelector with : anObject
Send aSelector to all objects in the collection, starting from the object at offset 0. For Stepstone compatibility. Producer uses this.