/ / ヽ ヽ | /| / ヽ V / / / | ヽ i / / / /l ! ll l l i / / ! l| !i ト、 ! l 十 ゙ ! l ノ / l l | i ! レ'l l i レ tナ ! l | ,イ /-―l/ i l ニl/,斗ェァl l`! / ., -| l l / l/-― l / 云テlyi´ / /// ナ ┐ヽ i┬ヽ l lV_!,.斗テ元于〒 |ツ lリ !/_/ /ィ 、ノ .l l/ iヽ. | l≦代_ツ_,ン′' ー' l l | | . !ヽ._ l \ ヽl ^ー一 ' 〉 ! l | | l 十 ゙ `ー-r! \! ,,,,,, _ ノ! l | | レ tナ 病んでる報告をして得られるものがなにかを私は知りたい ,ハ |、 ´ / l l ! | i ヾ゙ヘ l ` 、 /l l | | l | つ rくl ヽ. ヘ ` .ァ‐- ._,.ノ | l | | l l / \\ ヽ. ヽ ∧ V | l | l l | ナ ┐ヽ . \\ ヽ. ヽ | l l | l | l l | 、ノ \\ ヽ ヽ !. l l | l l ! i l
;;インデックスと要素それぞれ出力するマクロ (defmacro indexed-loop ((index-var item-var) collection &body body) `(loop for ,index-var from 0 for ,item-var in ,collection do (progn ,@body)))
(format t "インデックスと要素それぞれ出力するマクロを実行~%") (indexed-loop (index value) '(a b c) (format t "Index: ~a, Value: ~a~%" index value)) (format t "~%~%")
(format t "リスト内包表記風のマクロを実行~%") (format t "~a" (list-comprehension (x (* x x)) '(1 2 3 4 5))) (format t "~%") (format t "~a" (list-comprehension (x (+ x 2)) '(1 2 3 4 5))) (format t "~%~%")