Emacs Lisp 2
■ このスレッドは過去ログ倉庫に格納されています
0020デフォルトの名無しさん
NGNGそだね。じゃあ、どうでもいいネタをひとつ。こういうマクロ作ってみた。
make-symbol の使い方はこんなんでいいの?
(defmacro alist-bind (var-list alist &rest body)
;; (declare (indent 2) (debug t))
(let ((tmp-alist (make-symbol "tmp-alist")))
`(let ((,tmp-alist alist))
(let ,(mapcar #'(lambda (var) `(,var (cdr (assq ',var ,tmp-alist))))
var-list)
,@body))))
(setq alist '((a . 1) (b . 2)))
(alist-bind (a b) alist
(list a b))
=> (1 2)
■ このスレッドは過去ログ倉庫に格納されています