Clojure — как бы вы извлекали данные о погоде из ссылки, а затем вычисляли самый теплый день каждого календарного месяца

#clojure

#clojure

Вопрос:

Итак, я просматривал практические задачи на 4clojure.com и была одна проблема, которую я, похоже, не могу решить, учитывая, что clojure для меня довольно новый. Вопрос в том, чтобы определить самый теплый день каждого календарного месяца по предоставленной ими ссылке? Это один из самых сложных вопросов, с которыми я сталкивался в Интернете, и я действительно знаю, как его решить. https://www.metoffice.gov.uk/hadobs/hadcet/cetdl1772on.dat ), то есть ссылка, которую они предоставили вместе с этой дополнительной информацией о формате файла. «формат файла — столбец 1: год, столбец 2: день, столбцы 3-14: ежедневные значения CET, выраженные в десятых долях градуса. Есть 12 столбцов; по одному на каждый из 12 месяцев «. Я пытался в течение часа и добился нулевого прогресса, это меня напрягает, так как это первый раз, когда я столкнулся с практическим вопросом в Интернете :/

Комментарии:

1. Я считаю, что вы можете использовать slurp на веб-странице.

2. Вы уверены, что эта проблема связана с 4clojure? Я не думаю, что там есть какие-либо проблемы, требующие ввода-вывода, и поиск Google, похоже, согласен: для проблемы, которую вы описываете, нет обращений site:4clojure.com .

3. Да, я уверен, и хлебать? Я посмотрю на это

4. @Demonx — какая проблема в 4Clojure? Ссылка была бы хорошей. 🙂

5. Для тех, кто, как и я, заинтересовался этим вопросом — хотя я не могу найти ничего подобного на 4clojure, я нашел эту страницу на amazonaws.com там, где автор заинтересован в обработке данных из Метеорологического бюро в R. Конечно, ничто не мешает кому-то выполнить аналогичную обработку в Собственном БожьемЯзык. (Да, конечно , я имел в виду арамейский — что еще я мог иметь в виду? 🙂

Ответ №1:

Схема:

  • используйте slurp URL-адрес, чтобы получить гигантскую строку
  • используйте str/split-lines для получения каждой строки
  • используйте str/split для получения каждого поля каждой строки
  • используйте Java interop Integer/parseInt для преобразования «123» -> 123 для каждого поля
  • и т. д

Пожалуйста, ознакомьтесь со списком документации в README этого проекта шаблона.

Особенно изучите чит-лист Clojure, а также такие книги, как Brave Clojure и Getting Clojure.

Комментарии:

1. Спасибо, теперь я знаю, как я буду структурировать это и методично работать, спасибо