Script Classes for Adventure Games/Collection Class

From SCI Wiki
Jump to navigationJump to search

Official SCI Documentation

Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26
27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | Index


The Collection Class

Author: Jeff Stephenson

Date: 5 April 1988

 


The Collection Class

The Collection class provides the ability to manipulate collections of objects. Objects which belong to a Collection are said to be elements or members of it. The Collection class has no particular order defined for its elements, so it should not be used for situations in which the objects should be ordered — use a List instead.

In file: system.sc
Inherits from: Object
Inherited by: List
Set
EventHandler


Properties


elements

A pointer to a kernel list (kList) of the elements of the Collection.


size

The number of elements in the collection.


Methods:


add: element [elements ...]

Add elements to the Collection.


delete: element [elements ...]

Delete elements from the Collection.


eachElementDo: action [args...]

Send the message action [args...] to each element of the Collection. There may be from zero to four arguments (args).


firstTrue: action [args...]

Send the message action [args...] to each element of the collection in succession. When an object replies a non-zero value to the message, firstTrue: returns the object ID of that object and does not send the message to any more objects. Up to four arguments are allowed.


allTrue: action [args...]

Returns TRUE if all objects in the collection reply a non-zero value to the message action [args...], FALSE otherwise. Up to four arguments are allowed.


contains: anObject

Returns TRUE if anObject is an element of the collection, FALSE otherwise.


isEmpty

Returns TRUE if the collection has no elements, FALSE otherwise.


first: (private)

Returns a pointer to the kernel node kNode which has the 'first' object in the collection as its value. The object can be obtained with the kernel call (NodeValue kNode). Note that since there is no order associated with a collection, the object which will be returned by first is unspecified.


next: kNode (private)

Returns a pointer to the kNode following kNode. As in first:, the object may be obtained with (NodeValue kNode). Also as in first:, the lack of ordering in a Collection means that the object which will be returned is unspecified. It is guaranteed, however, that it will not be an object which has been returned since the most recent call to first: (unless the object has been added to the Collection more than once — see Set). If all elements in the Collection have been returned since the last call to first:, 0 is returned.

 

Notes


 

Table of Contents

 

< Previous: The Object Class Next: The List Class >