(get-next-indicatorストリームインジケーター)と呼ばれる入力ストリームから1つのトークンを読み取り、それを返す関数があります。私はそれを使って地図を作成しようとしています。
しかし、私がそれを実行すると、それはロックされます。get-next-indicator関数の1つを削除すると、機能します。両方の関数が同時にストリームを読み取ろうとしますか?これです。これを引き起こしているのは何ですか?
(defn decode-map [ stream ]
(loop [result {}]
(let [c (char (.read stream))]
(if (= c \e)
result
(recur (assoc result (get-next-indicator stream (int c))
(get-next-indicator stream (int c)) ))))))