Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.85 KB | None | 0 0
  1. 4.
  2.  
  3. > (setq pars '|{|)
  4. {
  5.  
  6. > (setq pard '|}|)
  7. }
  8.  
  9. > (setq mylist '(a b (c d) (e f g) h))
  10. (A B (C D) (E F G) H)
  11.  
  12. > (defun space (niv)
  13.     (do ((n niv (- n 1)))
  14.         ((= 0 n) (princ '| |))
  15.         (princ '| |)
  16.     )
  17. )
  18. SPACE
  19.  
  20. > (defun print (l n)
  21.     (princ (space n))
  22.     (princ pars)
  23.     (do ((lst l (cdr lst)))
  24.         ((null (cdr lst)) (princ (car lst))(princ pard)(terpri)(princ '| |))
  25.         (princ (car lst))(terpri)(princ '| |)(princ '| |)(princ (space n))
  26.     )
  27. )
  28. PRINT
  29.  
  30. > (defun print2 (l)
  31.     (princ pars)
  32.     (do ((lst l (cdr lst)) (n -2))
  33.         ((null (cdr lst))(princ (car lst))(princ pard)(terpri))
  34.         (cond ((atom (car lst))(princ (car lst))(terpri)(princ '| |))
  35.           (t (setq n (+ 2 n))(print (car lst) n)))
  36.     )
  37. )
  38. PRINT2
  39.  
  40. > (print2 mylist)
  41. {A
  42.  B
  43.    {C
  44.     D}
  45.      {E
  46.       F
  47.       G}
  48.  H}
  49. NIL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement