Clojure #= 读取器宏

发布于 2024-11-16 20:47:28 字数 289 浏览 0 评论 0原文

我刚刚从 帖子 它解决了一个问题。这个阅读器宏有多大可能成为 语言的官方(记录)部分?已弃用或如何 行为改变?

#= 读取器宏导致 Lisp 读取器计算以下 s 表达式(在宏扩展之前)。

I just "discovered" the #= reader macro from a post on Stackoverflow
and it solves a problem. How likely is this reader macro to become an
official (documented) part of the language? How about deprecated or
changed behavior?

The #= reader macro causes the following s-expression to be evaluated by the Lisp reader (before macro expansion).

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

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

发布评论

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

评论(2

冬天旳寂寞 2024-11-23 20:47:28

当以 *print-dup* true 打印某些内容时,它会被核心语言使用,所以我敢打赌它会保留下来。不知道为什么没有记录。

user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil

It is used by the core language when something is printed with *print-dup* true, so I'd wager that it is going to stay. No idea why it is not documented.

user=> (binding [*print-dup* true] (prn {:foo 1 :bar 2}))
#=(clojure.lang.PersistentArrayMap/create {:foo 1, :bar 2})
nil
一身仙ぐ女味 2024-11-23 20:47:28

它没有记录在案,因为它可能会消失/被其他东西取代。我不建议在您的程序中使用它。

It's not documented because it could go away / be replaced with something else. I wouldn't recommend using it in your programs.

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