どう書く?org ピラミッドを作る を common lispで
こんな感じ。
マクロを使いたくなる年頃。
あまり意味はないところが将来見たら恥ずかしいんだろな。
(defmacro string-times(n str) `(apply #'concatenate (cons 'string (make-list ,n :initial-element ,str)))) (defun pyramid(n) (dotimes (var n) (format t (concatenate 'string (string-times (- n 1 var) " ") (string-times (1- (* 2 (1+ var))) "*") (string-times (- n 1 var) " ") "~%"))))