;; defmacroではリスト分解機能はない (defmacro for2 (spec &rest body) (declare (indent 1)) (let ((limit (gensym))) (destructuring-bind (var start end) spec `(let ((,var ,start) (,limit ,end)) (while (<= ,var ,limit) ,@body (setq ,var (1+ ,var))))))) (with-output-to-string (for2 (i 1 2) (princ i))) ; => "12" ;; defmacro*ではリスト分解機能がある (defmacro* for3 ((var start end) &rest body) (declare (indent 1)) (let ((limit (gensym))) `(let ((,var ,start) (,limit ,end)) (while (<= ,var ,limit) ,@body (setq ,var (1+ ,var)))))) (with-output-to-string (for3 (i 1 2) (princ i))) ; => "12"
P194
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2011/11/26
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 220回
- この商品を含むブログを見る