From 943327d71a4e773266e54f88289b52d3624fefcf Mon Sep 17 00:00:00 2001 From: Tyler Wardhaugh Date: Mon, 17 Jan 2022 16:25:11 -0800 Subject: Ch148 (Clojure): Task #1 --- challenge-148/tyler-wardhaugh/clojure/README.md | 3 +++ challenge-148/tyler-wardhaugh/clojure/bb.edn | 2 +- challenge-148/tyler-wardhaugh/clojure/src/c148/t1.clj | 13 +++++++++++++ challenge-148/tyler-wardhaugh/clojure/test/c148/t1_test.clj | 11 +++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 challenge-148/tyler-wardhaugh/clojure/src/c148/t1.clj create mode 100644 challenge-148/tyler-wardhaugh/clojure/test/c148/t1_test.clj diff --git a/challenge-148/tyler-wardhaugh/clojure/README.md b/challenge-148/tyler-wardhaugh/clojure/README.md index 5b17ca2536..ad07e31114 100644 --- a/challenge-148/tyler-wardhaugh/clojure/README.md +++ b/challenge-148/tyler-wardhaugh/clojure/README.md @@ -12,6 +12,9 @@ Run Task #1: # ... or ... $ bb run task-1 + # Alternatively, to run it via Babashka: + $ bb run task-1-bb + Run Task #2: $ clojure -M:t2 diff --git a/challenge-148/tyler-wardhaugh/clojure/bb.edn b/challenge-148/tyler-wardhaugh/clojure/bb.edn index fd8889d50b..8e5e3b49c6 100644 --- a/challenge-148/tyler-wardhaugh/clojure/bb.edn +++ b/challenge-148/tyler-wardhaugh/clojure/bb.edn @@ -72,7 +72,7 @@ :task (run-task-clj :t1 *command-line-args*)} task-1-bb {:doc "Run Task 1 (via Babashka)" - :task (bb-no-go :t1 *command-line-args*)} + :task (run-task-bb :t1 *command-line-args*)} task-2 {:doc "Run Task 2 (via clojure)" :task (run-task-clj :t2 *command-line-args*)} diff --git a/challenge-148/tyler-wardhaugh/clojure/src/c148/t1.clj b/challenge-148/tyler-wardhaugh/clojure/src/c148/t1.clj new file mode 100644 index 0000000000..3857705204 --- /dev/null +++ b/challenge-148/tyler-wardhaugh/clojure/src/c148/t1.clj @@ -0,0 +1,13 @@ +(ns c148.t1 + (:require [clojure.pprint :refer [cl-format]] + [clojure.string :as str])) + +(def TARGET 100) + +(defn eban? + [n] + (-> (cl-format nil "~r" n) (str/includes? "e") not)) + +(defn -main + [& _] + (println (filter eban? (range (inc TARGET))))) diff --git a/challenge-148/tyler-wardhaugh/clojure/test/c148/t1_test.clj b/challenge-148/tyler-wardhaugh/clojure/test/c148/t1_test.clj new file mode 100644 index 0000000000..4f76b7a226 --- /dev/null +++ b/challenge-148/tyler-wardhaugh/clojure/test/c148/t1_test.clj @@ -0,0 +1,11 @@ +(ns c148.t1-test + (:require [clojure.test :refer [deftest is testing]] + [c148.t1 :refer [eban? TARGET]])) + +(def EBAN-UPTO-100 + "Eban Numbers up to 100 (source: https://oeis.org/A006933)" + [2, 4, 6, 30, 32, 34, 36, 40, 42, 44, 46, 50, 52, 54, 56, 60, 62, 64, 66]) + +(deftest target + (testing "Target identified in task description" + (is (= EBAN-UPTO-100 (filter eban? (range (inc TARGET))) )))) -- cgit