我刚刚开始在 ClojureScript 中开发应用程序,并且正在使用 Figwheel 和 Reagent 和 LightTable。一切似乎都是超级互动的,我真的很喜欢 REPL 和代码重新加载的想法,但我不知道如何将 Ratom 从浏览器传输到 REPL。例如,如果我正在开发 tictactoe,如果我能够将当前的板子状态转移到 REPL 只是为了在那里玩它(检查一些功能行为等),那就太棒了。可能吗?
例如,ratom 在tictactoe.core
命名空间中定义如下:
(defonce app-state (atom {:text "Welcom to the tictactoe!"
:board (new-board 3)}))
在浏览器控制台中有关 Ratom 的信息如下所示:
#<Atom: {:text "Welcom to the tictactoe!", :board [[2 2 2] [1 1 2] [1 1 1]]}>
当我试图获取有关终端中 REPL 中的原子位于tictactoe.core
命名空间中的信息时:
tictactoe.core=> app-state
#<Atom: {:text "Welcom to the tictactoe!", :board [[0 0 0] [0 0 0] [0 0 0]]}>
我做错了什么?在同一个 REPL 中,我得到println
的结果与浏览器中的相同。
我应该怎么做才能在 REPL 中获得随机数的价值?