有破坏-绑定,但似乎没有破坏-setq。可以使用析构绑定来定义它吗?
(let (a b c d)
(destructuring-setq ((a b) (c d)) '((1 2) (3 4)))
`(,b ,d))
(destructuring-bind
((a b) (c d)) '((1 2) (3 4))
`(,b ,d))发布于 2013-09-22 19:59:45
这将是一个非常重要的努力。
您需要做的是编写一个兰达-名单 分析器,它将
copy-symbol表示宏展开的完全不可读性:-),并保持从旧符号到新符号的映射。退货
(destructuring-bind (new-lambda-list)
expression
(setq old-var-1 new-gensym-1 ...))分析器存在于任何Common实现中(例如,参见上面的链接),它并不简单。
我建议你问问自己,destructuring-bind是否真的是不够的。
https://stackoverflow.com/questions/18945290
复制相似问题