home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / CLISP-1.LHA / CLISP960530-sr.lha / tests / map.tst < prev    next >
Encoding:
Text File  |  1996-04-15  |  4.9 KB  |  238 lines

  1. (setf a-vector (make-array 10))
  2. #+XCL #(0 0 0 0 0 0 0 0 0 0)
  3. #+(or CLISP AKCL) #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL)
  4. #-(or XCL CLISP AKCL) UNKNOWN
  5.  
  6. (do ((i 0 (1+ i))
  7.      (n (length a-vector)))
  8.     ((= i n))
  9.     (when (null (aref a-vector i))
  10.           (setf (aref a-vector i) 0)))
  11. nil
  12.  
  13. (setq liste '(a b c d))
  14. (a b c d)
  15.  
  16. (setq x 'anfangswert-von-x)
  17. anfangswert-von-x
  18.  
  19. (do ((x liste (cdr x))
  20.      (oldx x x))
  21.     ((null x))
  22.     (print oldx) (print x))
  23. nil
  24.  
  25. (defun list-reverse(list)
  26.        (do ((x list (cdr x))
  27.             (y '() (cons (car x) y)))
  28.            ((endp x) y)))
  29. list-reverse
  30.  
  31. (list-reverse '(a b c d))
  32. (d c b a)
  33.  
  34. (setq foo '(a b c d))
  35. (a b c d)
  36.  
  37. (setq bar '(1 2 3 4))
  38. (1 2 3 4)
  39.  
  40. (defun fkt(a b) (cons a b))
  41. fkt
  42.  
  43. ;mapcar
  44.  
  45. (mapcar #'abs '(3 -4 2 -5 -6))
  46. (3 4 2 5 6)
  47.  
  48. (mapcar #'cons '(a b c) '(1 2 3))
  49. ((a . 1) (b . 2) (c . 3))
  50.  
  51.  
  52. (mapcar #'fkt foo bar)
  53. ((a . 1)(b . 2)(c . 3)(d . 4))
  54.  
  55. (do ((x foo (cdr x))
  56.      (y bar (cdr y))
  57.      (z '() (cons (fkt (car x) (car y)) z)))
  58.     ((or (null x) (null y))
  59.      (nreverse z)))
  60. ((a . 1)(b . 2)(c . 3)(d . 4))
  61.  
  62. ;dolist
  63. (let    ((l '(1 2 3))
  64.          (r 0))
  65.         (dolist (x l r)
  66.                 (setf r (+ r  x)) ))
  67. 6
  68.  
  69.  
  70. ;dolist
  71. (let ((l '(1 2 3)))
  72. (dolist (x l)(if (> 0 x)(incf x)(return 10))))
  73. 10
  74.  
  75. (let ((l '(1 2 3)))
  76. (dolist (x l )(incf x)))
  77. nil
  78.  
  79. ;dotimes
  80.  
  81. (let ((s 0))
  82. (dotimes (i (+ 1 9)s)(setf s (+ s i))))
  83. 45
  84.  
  85.  
  86. (dolist (x '(a b c d)) (prin1 x) (princ " "))
  87. nil
  88.  
  89. (defun palindromep (string &optional
  90.                            (start 0)
  91.                            (end (length string)))
  92.        (dotimes (k (floor (- end start) 2) t)
  93.                 (unless (char-equal (char string (+ start k))
  94.                                     (char string (- end k 1)))
  95.                         (return nil))))
  96. palindromep
  97.  
  98. (palindromep "Able was I ere I saw Elba")
  99. t
  100.  
  101. (palindromep "einnegermitgazellezagtimregennie")
  102. t
  103.  
  104. (palindromep "eisgekuehlter bommerlunder")
  105. nil
  106.  
  107. (palindromep (remove-if-not #'alpha-char-p
  108.                             "A man, a plan, a canal -- Panama"))
  109. t
  110. (MAPCAR (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
  111. ((A) (B) (C))
  112.  
  113. (MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y))) (QUOTE (A B C)) (QUOTE
  114. (1 2 3)))
  115. ((A 1) (B 2) (C 3))
  116.  
  117. (MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y))) (QUOTE (A B C)) (QUOTE
  118. (1 2)))
  119. ((A 1) (B 2))
  120.  
  121. (MAPCAR (FUNCTION (LAMBDA (X Y) (LIST X Y))) (QUOTE (C)) (QUOTE (1
  122. 2)))
  123. ((C 1))
  124.  
  125. (MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y))) (QUOTE (C)) (QUOTE (1
  126. 2)) (U V W))
  127. ERROR
  128.  
  129. (MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y))) (QUOTE (C)) (QUOTE (1
  130. 2))
  131. (QUOTE (U V W)))
  132. ((C 1))
  133.  
  134. (MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y))) (QUOTE (A B C)) (QUOTE
  135. (1 2 3))
  136. (QUOTE (U V W)))
  137. ((A 1) (B 2) (C 3))
  138.  
  139. (MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  140. (1 2 3))
  141. (QUOTE (U V W)))
  142. ((A 1 U) (B 2 V) (C 3 W))
  143.  
  144. ;mapc
  145. (mapc #'abs '(3 -4 2 -5 -6))
  146. (3 -4 2 -5 -6)
  147.  
  148. (MAPC (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  149. (1 2 3))
  150. (QUOTE (U I V)))
  151. (A B C)
  152.  
  153. (MAPCAR (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  154. (1 2 3))
  155. (QUOTE (U I V)))
  156. ((A 1 U) (B 2 I) (C 3 V))
  157.  
  158. (mapl #'(lambda (x y)(cons x y))'(a b c d)'(1 2 3 4))
  159. (a b c d)
  160.  
  161. (MAPL (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  162. (1 2 3))
  163. (QUOTE (U I V)))
  164. (A B C)
  165.  
  166. ;maplist
  167.  
  168. (maplist #'(lambda (x)(cons 'foo x))'(a b c d))
  169. ((foo a b c d)(foo b c d)(foo c d)(foo d))
  170.  
  171.  
  172. (maplist #'(lambda (x) (if (member (car x)(cdr x)) 0 1))
  173.          '(a b a c d b c))
  174. (0 0 1 0 1 1 1)
  175.  
  176.  
  177. (MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C))
  178. (QUOTE (1 2 3)) (QUOTE (U I V)))
  179. (((A B C) (1 2 3) (U I V)) ((B C) (2 3) (I V)) ((C) (3) (V)))
  180.  
  181. (MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C))
  182. (QUOTE (1 2 3)) (QUOTE (U I)))
  183. (((A B C) (1 2 3) (U I)) ((B C) (2 3) (I)))
  184.  
  185. (MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  186. (1 2))
  187. (QUOTE (U I V)))
  188. (((A B C) (1 2) (U I V)) ((B C) (2) (I V)))
  189.  
  190. (MAPLIST (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B)) (QUOTE
  191. (1 2 3))
  192. (QUOTE (U I V)))
  193. (((A B) (1 2 3) (U I V)) ((B) (2 3) (I V)))
  194.  
  195. ;mapcon
  196.  
  197. (mapcon #'(lambda (x)(and (oddp (car x))(list (car x))))'(5 4 3 2 1))
  198. (5 3 1)
  199.  
  200.  
  201. (MAPCON (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B)) (QUOTE
  202. (1 2 3))
  203. (QUOTE (U I V)))
  204. ((A B) (1 2 3) (U I V) (B) (2 3) (I V))
  205.  
  206. (MAPCON (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  207. (1 2 3))
  208. (QUOTE (U I V)))
  209. ((A B C) (1 2 3) (U I V) (B C) (2 3) (I V) (C) (3) (V))
  210.  
  211. ;mapcan
  212.  
  213. (mapcan #'(lambda (x)(and (numberp x)(list x)))'(a 1 b c 3 4 d 5))
  214. (1 3 4 5)
  215.  
  216. (MAPCAN (FUNCTION (LAMBDA (X Y Z) (LIST X Y Z))) (QUOTE (A B C)) (QUOTE
  217. (1 2 3))
  218. (QUOTE (U I V)))
  219. (A 1 U B 2 I C 3 V)
  220.  
  221. (MAPCAN (FUNCTION (LAMBDA (X Y) (LIST X Y))) (QUOTE (A B C)) (QUOTE
  222. (1 2 3)))
  223. (A 1 B 2 C 3)
  224.  
  225. (MAPCAN (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
  226. (A B C)
  227.  
  228. (MAPCON (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
  229. ((A B C) (B C) (C))
  230.  
  231. (MAPCON (FUNCTION (LAMBDA (X Y) (LIST X Y))) (QUOTE (A B C)) (QUOTE
  232. (1 2)))
  233. ((A B C) (1 2) (B C) (2))
  234.  
  235. (MAPCON (FUNCTION (LAMBDA (X) (LIST X))) (QUOTE (A B C)))
  236. ((A B C) (B C) (C))
  237.  
  238.