0

ClojureScript でアプリの開発を始めたばかりで、Figwheel と Reagent および LightTable を使用しています。すべてが非常にインタラクティブなようです。私は REPL とコードのリロードのアイデアが大好きですが、ブラウザから 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]]}>

tictactoe.coreそして、名前空間にあるターミナルの REPL のアトムに関する情報を取得しようとしているとき:

tictactoe.core=> app-state
#<Atom: {:text "Welcom to the tictactoe!", :board [[0 0 0] [0 0 0] [0 0 0]]}>

私が間違っていることは何ですか?同じ REPL ではprintln、ブラウザと同じ結果が得られます。

REPL でラトムの値を取得するにはどうすればよいですか?

4

2 に答える 2

1

(コンポーネントに対してローカルではなく) 名前空間で定義された ratom がある場合は、このフォーム REPL を実行できます。ラトムが定義されている名前空間に切り替え、シンボル名で参照します。

于 2016-12-11T14:28:32.540 に答える