println なマクロ書いた
処理系によって print
が改行しなかったり無かったりするのがムカついたので書いた。
(define-syntax println (syntax-rules () ((_) (begin (newline))) ((_ a b ...) (begin (display a) (println b ...)))))
使い方はこんな感じ:
(println "foo") (println) (println "foo" "bar") (println) (println "foo" "bar" "quz") (println) (println '(foo) '(foo bar) '(foo bar quz))
出力結果はこんな感じ:
foo
foobar
foobarquz
(foo)(foo bar)(foo bar quz)
更新
- 2 つ目のルールが要らないという風のうわさを試してみたら本当に要らなかったので消した。