首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是否正确地描述了Scheme、球拍、Common和Clojure中方括号的行为?

这是否正确地描述了Scheme、球拍、Common和Clojure中方括号的行为?
EN

Stack Overflow用户
提问于 2021-06-19 21:52:28
回答 1查看 421关注 0票数 2

我最近做了一些调查。由于缺乏Lisp经验,我想验证我发现了什么。这是否正确地描述了Scheme、球拍、Common和Clojure中方括号的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-20 19:45:43

我想对普兰来说,你说得对。

在通用Lisp中,标准不是CLtL2,而是ANSI标准,它在所有意图和目的上都与CLHS (例如https://clhs.lisp.se)相同。读取器行为在第2节中定义。在默认情况下,方括号(即标准语法中的方括号)是组成字符,因此可以在符号名中使用它们而不需要特殊转义。例如,[[]][APPLE-][>][<[[[等都是可以不用转义的有效符号名。然而,这些字符被显式地保留给程序员在他们自己的可读表中使用。有几个库使用这种方法,例如用于SQL文本的CLSQL。

在Clojure中,方括号表示向量,这是不同于列表的一种单独的集合。代码中文字向量的求值是在代码中构造一个新的求值形式向量。示例:[a 'b (+ a b)]计算为a值的新向量、名为b的符号以及ab值之和。宏和其他特殊形式通常将向量用于不作为函数调用计算的语法部分。示例:(defn foo [a b c] …) -在函数定义的正文中作为形式参数被绑定的符号向量。(let [a 1 b (+ a forble)] …) - ab的词法绑定。

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

https://stackoverflow.com/questions/68051017

复制
相关文章

相似问题

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