1
私は、呼び出される入力ストリームからトークンを1つ読み込み(get-next-indicator stream indicator)、それを返します。私はマップを作成するためにそれを使用しようとしています。ストリームロックからのClojure関数の読み込み
しかし、私がそれを実行すると、ロックアップします。 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))))))))
"ロックアップ"とはどういう意味ですか?エラーメッセージはありますか? – Svante
エラーメッセージが表示されません。 2番目の呼び出しを "e"と言ってget-next-indicatorに置き換えた場合、期待通りのマップが生成されますが、それは私のスニペットのように呼び出されます。何も起こりません。エラーも例外ではありません。 –
get-next-indicatorに副作用がありますか?そのコードも投稿してください。 – Kai