ノードの異種ツリーをトラバースできるジッパーを書くのに問題があります。私は i) マップのリストを持っています。各マップには ii) :inputs キーがあり、その値はマップのリストです。
ジッパーを使用してこれらの葉のそれぞれにアクセスし、計算値を追加したいと考えています。コード ブロックと入力ツリー データは次のとおりです。ジッパー コードを取得してリーフ ノードにアクセスし、{ :thing 123 } を追加できないようです。私は単純なものが欠けているに違いありません。洞察はありますか?
A)
(ループ [loc (zip/zipper (またはマップ? リスト?)
#((if (map? %1) ;; ノードの子を取得
(:入力 %1)
%1 ))
#(%1) ;; 新しいノードを作成する
(:入力層ニューラルネットワーク)) ]
(if (zip/end? loc)
(zip/ルートロック)
(if (map? loc)
(再帰 (zip/次へ
(zip/edit loc merge { :thing 123 } )))
(繰り返し (zip/次の場所))
)
)
)
B)
({:入力
({:key :avolume, :value 2.25, :weight 0.4283380545172636, :bias 0}
{:key :bvolume, :value 3.0, :weight 0.6970037374879661, :bias 0}
{:key :ask, :value 1.32379, :weight 0.5387437158323669, :bias 0}
{:key :bid, :value 1.3239, :weight 0.4648184032361037, :bias 0}
{:key :time, :value 1.335902400676, :weight 0.43632873607404554, :bias 0}),
:id "583c10bfdbd326ba34aed329139df6be2487ffc"}
{:入力
({:key :avolume, :value 2.25, :weight 0.13162215440222336, :bias 0}
{:key :bvolume, :value 3.0, :weight 0.23886901184352727, :bias 0}
{:key :ask, :value 1.32379, :weight 0.8408470512339872, :bias 0}
{:key :bid, :value 1.3239, :weight 0.27071013797961796, :bias 0}
{:key :time, :value 1.335902400676, :weight 0.6304505838898373, :bias 0}),
:id "583c10bfdbd326ba34aed329139df6be2487ffd"}
{:入力
({:key:avolume,:value 2.25,:weight 0.8236972641966921,:bias 0}
{:key :bvolume, :value 3.0, :weight 0.32421537754016705, :bias 0}
{:key :ask, :value 1.32379, :weight 0.966306328543246, :bias 0}
{:key :bid, :value 1.3239, :weight 0.8891668220470931, :bias 0}
{:キー:時間、:値1.335902400676、:重み0.278993745549462、:バイアス0})、
:id "583c10bfdbd326ba34aed329139df6be2487ffe"}
{:入力
({:key:avolume,:value 2.25,:weight 0.27388486254027167,:bias 0}
{:key :bvolume, :value 3.0, :weight 0.33659579299487363, :bias 0}
{:key :ask, :value 1.32379, :weight 0.16610378593177033, :bias 0}
{:key :bid, :value 1.3239, :weight 0.6964784902474896, :bias 0}
{:key :time, :value 1.335902400676, :weight 0.6306732906337643, :bias 0}),
:id "583c10bfdbd326ba34aed329139df6be2487fff"}
{:入力
({:key:avolume,:value 2.25,:weight 0.8819171698935051,:bias 0}
{:key :bvolume, :value 3.0, :weight 0.5944805362120958, :bias 0}
{:key :ask, :value 1.32379, :weight 0.9060962647355373, :bias 0}
{:key :bid, :value 1.3239, :weight 0.37647418075176464, :bias 0}
{:キー:時間、:値1.335902400676、:重み0.7797681719480866、:バイアス0})、
:id "583c10bfdbd326ba34aed329139df6be2488000"})
ありがとう