format練習

参考: X, XYZ (anarchy golf) - kozima の日記 - cadr group

(defun Y (n)
  (dotimes (i n)
    (format t "~V@TY~:[~VTY~;~]~%"
	    (min #2=(floor n 2)i)
	    (<= #2# i)
	    (- n i 1))))

(defun Z (n)
  (dotimes (i n)
    (format t (if (> (1- n) i 0)
                  "~VTZ~%" "~*~V@{Z~}~%")
            (- n i 1) n 0)))

(defun N (n)
  (dotimes (i n)
    (format t "~V<N~:[~;~V@TN~]~;N~>~%"
	    n (< 0 i (1- n))(1- i))))

Nは1を渡すと駄目な感じ。

ついでに

(defun λ (n)
  (dotimes (i n)
    (format t"~V@Tλ~:[~;~VTλ~]~%"
	    #2=(min #1=(- n i 1) i)
	    (< #2# i)
	    (max #1# i))))

(dotimes (i 3)
  (λ (1+ (* 4 i)))
    (terpri))
λ

λ
 λ
  λ
 λ λ
λ   λ

λ
 λ
  λ
   λ
    λ
   λ λ
  λ   λ
 λ     λ
λ       λ