我有一个函数,它从称为(get-next-indicator 流指示器)的输入流中读取一个标记并返回它。我正在尝试使用它来构建地图。
但是,当我运行它时,它会锁定。如果我删除 get-next-indicator 函数之一,它确实有效。这两个函数是否尝试同时读取流是这样的。这是什么原因造成的?
(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)) ))))))