/clojure-homework

Clojure course assignments

Primary LanguageClojure

Домашни от курса по Clojure

Това хранилище съдържа домашните от курса по Clojure. Те са разпределени в директориите tasks/ (за задачи) и challenges/ (за предизвикателства). Всяко е в собствена директория (например 01), и във всяка има следните файлове:

  • README.markdown - условие
  • sample_test.clj - примерен тест
  • test.clj - теста, с който проверяваме
  • solution.clj - нашето решение

Очевидно, test.clj и solution.clj няма да бъдат публикувани преди крайния срок.

Пускане на примерни тестове

Ако искате да пуснете примерния тест, просто добавете файл solution.clj в директорията на домашното, влезте в нея и изпълнете:

$ clj sample_test.clj

...където clj е изпълнимото име на Clojure на вашата машина. Обърнете внимание, че в текущата директория трябва да има sample_test.clj и solution.clj.

TODO: implement clj alias TODO: това е дървено, изпускаме цял нов свят

LightTable

NOTE: paredit, keybindings package

  1. open-clojure-instarepl
  2. open-console-tab
  3. new-tabset
  4. move-to-next-tabset

-> make changes -> clear-console

;; -----------------------------------------------------------------------------
;; Solution

(defn from-digits [digits]
  (reduce #(+ (* %1 10) %2)
          0
          digits))

;; -----------------------------------------------------------------------------
;; Playground

(form-digits [1 2 3 4])

;; -----------------------------------------------------------------------------
;; Tests

(do
  (use 'clojure.test)

  (deftest challenge-01-sample-test
    (is (= (from-digits [4 2]) 42)))

  (run-tests)
)
  • Ще се наложи да рестартваме, не е перфектно.

Emacs

TODO: видео

  1. cider
  2. cider-jack-in

Vim

Вимаджии?

Sublime

??

Изпращане на промени

Има грешка в условието и искате да изпратите корекция? Просто отворете pull request! Ако сте логнати в GitHub, може да го направите дори без да дърпате кода локално при вас.