【问题标题】:How Clojure's let is a special form?Clojure 的 let 是怎样一种特殊的形式?
【发布时间】:2019-12-24 02:41:06
【问题描述】:

据我了解,Clojure 中的特殊形式是构建块,将用于构建其余的语言特性。 WRT let,正如我所见,let 被定义为宏here。那它又是怎样一种特殊的形式呢?

【问题讨论】:

  • 请注意,loopiffn 相同。没有一个实际上是特殊形式本身。它们都是遵循* 变体的包装宏。如果文档对此更清楚一点,那就太好了;尽管我认为这只会使新 Clojurists 的事情变得复杂。
  • 不是ifif 其实很特别。
  • @amalloy 哎呀,你是对的。是的,我猜if 真的不需要任何预处理。

标签: clojure


【解决方案1】:

严格来说let只是let*的前端,是一种特殊形式。 let 添加了参数检查和解构,但对于所有其他目的(从程序员的角度来看)它是一种特殊形式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 2023-03-30
    • 2015-11-22
    • 2016-07-31
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    相关资源
    最近更新 更多