home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / languages / smalltalk / _smalltalk / prelude / array < prev    next >
Encoding:
Text File  |  1987-12-30  |  823 b   |  32 lines

  1. Class Array :ArrayedCollection
  2. [
  3.      new: aValue
  4.           ^ <NewArray aValue>
  5. |
  6.      at: aNumber
  7.           ( (aNumber < 1) or: [aNumber > <Size self> ] )
  8.                ifTrue: [ self error: 'index error'. ^nil ].
  9.           ^ <At self aNumber >
  10. |
  11.      at: aNumber put: aValue
  12.           ( (aNumber < 1) or: [aNumber > <Size self> ] )
  13.                ifTrue: [ self error: 'index error'. ^nil ].
  14.           <AtPut self aNumber aValue >.
  15.           ^ aValue
  16. |
  17.      grow: newObject
  18.           ^ <Grow self newObject>
  19. |
  20.      printString         | value i |
  21.           value <- ')'.
  22.           i <- <Size self>.
  23.           [i > 0] whileTrue: 
  24.                [ value <- <At self i>  printString ,
  25.                          ' ', value.
  26.                         i <- i - 1].
  27.           ^ '#( ' , value
  28. |
  29.      size
  30.           ^ <Size self>
  31. ]
  32.