Обработка файла Java с плавающей точкой как ленивая последовательность Clojure

Отправка происходит, когда веб-страница отправляет свои данные обратно в тот же скрипт / dll / что-то, что сгенерировало страницу в первую очередь.

Пример в C # (asp.net)

...

if (!IsPostback)
   // generate form
else
   process submitted data;
11
задан Cumbayah 2 June 2010 в 20:50
поделиться

1 ответ

(defn float-seqs [#^java.io.DataInputStream dis]
  (lazy-seq
    (try
      (cons (.readFloat dis) (float-seqs dis))
      (catch java.io.EOFException e
        (.close dis)))))

(with-open [dis (-> file java.io.FileInputStream. java.io.DataInputStream.)]
  (let [s (float-seqs dis)]
    (doseq [f s]
      (println f))))

Вам не нужно использовать with-open, если вы уверены, что собираетесь использовать всю последовательность.

Если вы используете with-open, дважды проверьте, не утекает ли seq (или производный seq) за его пределы.

15
ответ дан 3 December 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: