我将 Leiningen 2 REPL 与 Clojure 1.3 一起使用。我的元数据行为不一致(或者我认为)。
如果这是应该的,请解释一下。如果没有 - 我应该在哪里提交错误?
这就是元数据应该如何工作,AFAIK。
main=> (def a ^:inited [ 1 2 3])
main=> (meta a)
{:inited true}
这就是我在引用引用的空序列时得到的。
main=> (def a ^:inited '() )
main=> (meta a)
nil
main=> (def a ^{:inited (System/currentTimeMillis)} '())
main=> (meta a)
nil
对于未引用的空序列,一切都很好。但是,好吧,我得到了行号。
main=> (def a ^{:inited (System/currentTimeMillis)} ())
main=> (meta a)
{:inited 1339678437612, :line 1}
main=> (def a ^:inited () )
main=> (meta a)
{:inited true, :line 1}
在这里我没有得到行号:
main=> (def a ^:inited [ 1 2 3])
main=> (meta a)
{:inited true}
main=> (def a ^{:inited (System/currentTimeMillis)} [1 2 3])
main=> (meta a)
{:inited 1339678534644}