我是繼Datomic示例模式並有定義爲語法:哈希(磅),那麼符號
:db/id #db/id[:db.part/db]
什麼的#DB/ID含義爲實體的ID?模式使用read-string加載,所以我想這是有效的Clojure語法。
我是繼Datomic示例模式並有定義爲語法:哈希(磅),那麼符號
:db/id #db/id[:db.part/db]
什麼的#DB/ID含義爲實體的ID?模式使用read-string加載,所以我想這是有效的Clojure語法。
這是Clojure 1.4的新功能:a reader literal。
Jouni是對的,這是一個reader literal。
更具體地,讀取器字面#分貝/ ID [:db.part /分貝]將創建內的臨時實體ID:db.part /分貝分區。
建立交易時可以使用此臨時ID。如果交易成功應用於數據庫(即「交易」),則臨時ID將被數據庫中的永久實體ID替換。
此特定閱讀器文字的一般形式爲#db/id [分區名稱值*],其中value是可選的負值,它允許在單個事務中唯一確定性地區分臨時ID。
這是一個很大的方便,例如。 #db/id [:db.part/user -300]可以在特定事務中的多個位置使用,以引用同一個尚未創建的實體。