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

  1. Class Main
  2. [
  3.      main
  4.           (Primes new) do: [:x | x print]
  5. ]
  6. Class Primes
  7. | primeGenerator lastFactor |
  8. [
  9.      first
  10.           primeGenerator <- 2 to: 300.
  11.           lastFactor <- primeGenerator first.
  12.           ^ lastFactor
  13. |
  14.      next
  15.           primeGenerator <- (Factor new ;
  16.                          remove: lastFactor
  17.                          from:   primeGenerator ).
  18.           ^ lastFactor <- primeGenerator next.
  19. ]
  20.  
  21. Class Factor
  22. | myFactor generator |
  23. [
  24.      remove: factorValue from: generatorValue
  25.           myFactor <- factorValue.
  26.           generator <- generatorValue
  27. |
  28.      next      | possible |
  29.           [(possible <- generator next) notNil]
  30.                whileTrue:
  31.                     [(possible \\ myFactor ~= 0)
  32.                          ifTrue: [ ^ possible] ].
  33.           ^ nil
  34. ]
  35.  
  36.  
  37.