RosettaCodeData/Task/General-FizzBuzz/Racket/general-fizzbuzz-2.rkt
2023-07-01 13:44:08 -04:00

17 lines
479 B
Racket

#lang racket
(require racket/match)
(define (fizz-buzz-individual x . args)
(match (string-append*
(map (lambda (i)
(match i
[(cons a b) (if (= 0 (modulo x a)) b "")])) args))
["" x]
[fizz-buzz-string fizz-buzz-string]))
(define (fizz-buzz x . args)
(map (curryr (compose displayln (curry apply fizz-buzz-individual)) args)
(range 1 (add1 x)))
(void))
(fizz-buzz 20 '(3 . "Fizz") '(5 . "Buzz") '(7 . "Baxx"))