我找到了这行Clojure代码:@(d/transact conn schema-tx).它是一个创建数据库模式的Datomic语句.由于难以搜索"@"等字符,我在Google上找不到任何相关内容.
'at'符号在第一个括号之前是什么意思?
这是deref 宏字符.您在Datomic的背景下寻找的是:
http://docs.datomic.com/transactions.html
在处理交易下:
在Clojure中,您还可以使用deref方法或@来获取事务的结果.
有关Clojure中deref的更多信息,请参阅:
http://clojuredocs.org/clojure_core/clojure.core/deref
这是Clojure默认语法和"糖"(即宏定义)的有用概述.
http://java.ociweb.com/mark/clojure/article.html#Overview
您将找到解释数字符号#,表示正则表达式或哈希映射,插入符号^,用于元数据,以及更多"at符号" @.它是用于解除引用的糖形式,这意味着您可以获得引用所指向的实际值.
Clojure有三种参考类型:Refs,Atoms和Agents.
http://clojure-doc.org/articles/language/concurrency_and_parallelism.html#clojure-reference-types
您的术语@(d/transact conn schema-tx)似乎提供了对原子的引用,并且通过at符号@延迟并因此获得此引用指向的值.
顺便说一下,如果你看看"Clojure at sign",你会发现搜索引擎的结果.但它需要一些耐心;-)