Common Lispにはnamed-letが無い.
そこでマクロの勉強がてらnamed-letを実装
(Schemeみたいにletって名前で統一はできませんでした…)
(defmacro named-let (name bind body)
`(labels ((,name ,(mapcar #'car bind) ,body))
(,name ,@(mapcar #'cadr bind))
))
アホみたいにバッククオートとアンクオートだけで挑戦してたので時間を無駄に書けてしまった.
「,@」….ちゃんとググれってことね…
0 件のコメント:
コメントを投稿