- 194 名前:デフォルトの名無しさん mailto:sage [04/02/22 23:00]
- >>192
パターンが単純であればこんな感じかな? destructuring-bind と同等のことがしたい場合は、 もっと複雑なことをしなければならないが。 (defmacro dbind* (list &body forms) (let ((vals (gensym))) `(let ((,vals ,list)) (case (length ,vals) ,@(mapcar #'(lambda (form) (let ((vars (car form))) `(,(length vars) (let ,(mapcar #'(lambda (var) `(,var (pop ,vals))) vars) ,@(cdr form))))) forms)))))
|

|