有没有一种方法可以像 Clojure 中那样在 Common Lisp 中使用关键字作为函数?

发布于 2024-12-04 18:52:56 字数 128 浏览 0 评论 0原文

在 Clojure 中,可以编写

(:foo {:foo 3 :bar 5})

计算结果为 3 的代码。有没有办法扩展 Common Lisp,以便关键字充当查找自身的函数?

In Clojure one can write

(:foo {:foo 3 :bar 5})

which evaluates to 3. Is there any way to extend Common Lisp so that a keyword will act as a function that looks itself up?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拒绝两难 2024-12-11 18:52:56

AFAIK,在可移植的 Common Lisp 中,没有简单、明显或琐碎的方法可以通用地做到这一点。

一些早期的 Lisp 方言中提供了相关功能(针对数组),但 Common Lisp 中并未包含该功能。

There are no easy, obvious or trivial ways to do that in a general way in portable Common Lisp, AFAIK.

Related functionality (for arrays) was provided in some earlier Lisp dialects, but it was not included in Common Lisp.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文