首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以使用析构绑定来定义析构-setq吗?

可以使用析构绑定来定义析构-setq吗?
EN

Stack Overflow用户
提问于 2013-09-22 15:10:32
回答 1查看 217关注 0票数 2

有破坏-绑定,但似乎没有破坏-setq。可以使用析构绑定来定义它吗?

代码语言:javascript
复制
(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))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-22 19:59:45

这将是一个非常重要的努力。

您需要做的是编写一个兰达-名单 分析器,它将

  1. 查找所有要绑定的变量
  2. 将它们替换为膝状体s (或者使用copy-symbol表示宏展开的完全不可读性:-),并保持从旧符号到新符号的映射。

退货

代码语言:javascript
复制
(destructuring-bind (new-lambda-list)
     expression
   (setq old-var-1 new-gensym-1 ...))

分析器存在于任何Common实现中(例如,参见上面的链接),它并不简单。

我建议你问问自己,destructuring-bind是否真的是不够的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18945290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档