我剛開始在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