我需要定义相互依赖的变量。我的意思是一个var包含例如一个带有另一个var的向量,反之亦然。下面的代码说明了这一点:
(declare a b)
(def a [1 b])
(def b [a 2])
但是在加载此代码后,我得到了这个:
test=> (first a)
1
test=> (second a)
#<Unbound Unbound: #'test/b>
test=> (first b)
[1 #<Unbound Unbound: #'test/b>]
test=> (second b)
2
显然,这不是它应该如何工作的。我知道打印这样的结构会导致堆栈溢出,但我不需要打印它。我该怎么做?