t-log

SchemeでFizzBuzz

目次

以上のサイトを参考にSchemeの基本的な文法を勉強した。

FizzBuzz

(define fizzbuzz
(lambda (x)
(if ( = (modulo x 15 ) 0) (display "fizzbuzz\n") (if ( = (modulo x 5 ) 0) (display "buzz\n") ( if ( = (modulo x 3 ) 0) (display "fizz\n") x )))
))
(fizzbuzz 2)
(fizzbuzz 3)
(fizzbuzz 25)
(fizzbuzz 45)

出力

2
fizz
buzz
fizzbuzz

if文を入れ子にしているだけなので書いているときは特に詰まることもなかったのだが、あとから見ると結構読みにくい。