1

(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)) ))))))
4

1 に答える 1