Я хочу узнать, как изменить значение переменной, объявленной в связывании связывания функции Clojure. Ниже приведен код, который я использую. Я хочу, чтобы функция возвращала объект java.lang.String, который содержит текст, содержащийся в String.Можно ли изменить привязки привязки?
(defn read-text-from-file
{:doc "fn read-text-from-file is used to output in \"string\"
format the text in a file."}
[#^String file-name]
(let [buff-reader (open-file-reader file-name)]
(loop [full-text "" line (.readLine buff-reader)]
(when line
(-> full-text (.concat line))
; (println full-text)
(recur (-> file-name (.concat line)) (.readLine buff-reader))))))
Примечание: Функция "открытого файла читателя ниже:
(defn open-file-reader
{:doc "This is used to open a file, ready for reading"}
[file-name]
(let [file-object (java.io.File. file-name)
buff-reader (-> file-object (java.io.FileReader.)
(java.io.BufferedReader.))]
buff-reader))
Какая часть вещь, которую вы пытаетесь выполнить, требует изменение привязки let? –