Generate unique random numbers in a loop
问题 OK, after few hours of insane debugging, I finally have this: (defmacro assoc-bind (bindings expression &rest body) (let* ((i (gensym)) (exp (gensym)) (abindings (let ((cursor bindings) result) (while cursor (push (caar cursor) result) (push (cdar cursor) result) (setq cursor (cdr cursor))) (setq result (nreverse result)) (cons (list i `(quote ,result)) (cons (list exp expression) result))))) `(let (,@abindings) (while ,i (set (car ,i) (caar ,exp)) (setq ,i (cdr ,i)) (set (car ,i) (cdar ,exp)