如何在clojure中创建引用/指针?

bou*_*ekv 2 pointers reference clojure

我想改变代码的正常行为

(def a 5)
(def b a)
(def a 1)
b
5
Run Code Online (Sandbox Code Playgroud)

为了这个行为

(def a 5)
(*something* b a)
(def a 1)
b
1
Run Code Online (Sandbox Code Playgroud)

它仅用于学习目的,所以请不要在此深思.

Rör*_*örd 7

作为对Jared314的回答的补充,我想指出,如果你使a自己成为原子或ref,b将自动成为指针或引用a:

(def a (atom 5))
(def b a)
@b ;=> 5
(reset! a 1)
@b ;=> 1
Run Code Online (Sandbox Code Playgroud)