我刚开始在ClojureScript中开发应用程序,我正在使用Figwheel与试剂和LightTable。一切似乎都是超级互动的,我真的很喜欢REPL和代码重新加载的想法,但我无法弄清楚如何从浏览器将REPL传输到REPL。例如,如果我正在开发tictactoe,如果我能够将当前的棋盘状态转移到REPL,然后在其中进行游戏(查看某些功能行为等),那就太棒了。可能吗?如何通过ClojureScript将ratom从浏览器转移到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中获得ratom的价值?
我试过这样做,我的原子有它的初始值,而不是现在使用的那个 – Artem