PasteRack.org
Paste # 81276
2017-06-23 03:20:07

Fork as a new paste.

Paste viewed 49 times.


Embed:

  1. #lang racket
  2.  
  3. (require (only-in srfi/41 stream-take))
  4.  
  5. (define (fizzbuzz n)
  6.   (cond [(zero? (remainder n 15)) "FizzBuzz"]
  7.         [(zero? (remainder n  5)) "Buzz"]
  8.         [(zero? (remainder n  3)) "Fizz"]
  9.         [else                     (~a n)]))
  10.  
  11. (define fizzbuzz-stream (stream-map fizzbuzz (in-naturals 1)))
  12.  
  13. (module+ test
  14.   (require rackunit)
  15.  
  16.   (check-equal? (stream->list (stream-take 5 fizzbuzz-stream))
  17.                 '("1" "2" "Fizz" "4" "Buzz")))

=>