Пустой вектор с вложенным HashMap в настройке Clojure - PullRequest
0 голосов
/ 09 декабря 2011

Я только начал изучать Clojure и пытаюсь написать что-нибудь, чтобы вытащить некоторые URL-адреса с веб-страницы в память с дополнительными метаданными вокруг каждого URL-адреса.

Я могу получить URL-адреса, но они хранятся где-то, с чем у меня проблема.Я понял, что мне нужен вектор с вложенными картами, к которому я могу добавить новые записи с помощью связанного, однако, поскольку я не знаю URL-адреса, я не уверен, как мне сначала определить свою структуру данных.

Так, например:

(def *comics*
  [{:name "Penny-Arcade"
    :url "http://www.penny-arcade.com/comic/"
    :working 0
   }
   {:name "We The Robots"
    :url "http://www.wetherobots.com/"
    :working 0
   }])

Я просто не уверен, как запустить вышеуказанную структуру данных без данных, затем добавить ее, скажем, сначала из командной строки arg, затемостальное с сайта.

Если кто-то может предложить лучший способ хранения данных выше, пожалуйста, не стесняйтесь.

1 Ответ

2 голосов
/ 09 декабря 2011

Насколько я понимаю, вы хотите изменить *comics* var из некоторого аргумента командной строки - и затем изменить его еще больше, "работая" над элементами в нем.

Я бы посоветовал вам не делать это.

Кажется, нет никаких причин, по которым вы не можете взять URL комиксов из командной строки и передать их в качестве аргументов функции, которая выполняет обработку и возвращает все, что вы хотите, из этих URL. Делать это таким образом - это так; функционально, без мутировавших переменных - определенно будет проще реализовать в ближайшем будущем, упростить распараллеливание и просто все более идиоматично и весело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...