aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Wardhaugh <twardhaugh@cap-rx.com>2021-06-26 10:28:58 -0700
committerTyler Wardhaugh <twardhaugh@cap-rx.com>2021-06-26 10:28:58 -0700
commit77b6a08e8eeec92b2547029d2777e5cd968d2b45 (patch)
treea7a6da9148c6e73cc932f32c19b66e1da20a9bba
parent006d2cf488bb38276c58a3f49a0432988fdc6541 (diff)
downloadperlweeklychallenge-club-77b6a08e8eeec92b2547029d2777e5cd968d2b45.tar.gz
perlweeklychallenge-club-77b6a08e8eeec92b2547029d2777e5cd968d2b45.tar.bz2
perlweeklychallenge-club-77b6a08e8eeec92b2547029d2777e5cd968d2b45.zip
Ch118: prep for challenge
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/README.md14
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/bb.edn4
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/deps.edn3
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/pom.xml13
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/core.clj12
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj18
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t2.clj15
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj12
8 files changed, 70 insertions, 21 deletions
diff --git a/challenge-118/tyler-wardhaugh/clojure/README.md b/challenge-118/tyler-wardhaugh/clojure/README.md
index 46dde45ce4..de2edc3f59 100644
--- a/challenge-118/tyler-wardhaugh/clojure/README.md
+++ b/challenge-118/tyler-wardhaugh/clojure/README.md
@@ -1,7 +1,7 @@
-# tw.weekly.c117
+# tw.weekly.c118
-The Weekly Challenge - #117 - Tyler Wardhaugh
+The Weekly Challenge - #118 - Tyler Wardhaugh
## Usage
@@ -9,7 +9,7 @@ Clojure ([installation instructions](https://clojure.org/guides/getting_started#
Run the project directly (shows default output from both tasks):
- $ clojure -M -m tw.weekly.c117.core
+ $ clojure -M -m tw.weekly.c118.core
# ... or ...
$ bb run both
@@ -21,15 +21,15 @@ Run the project's tests (which are samples from the task descriptions):
Run Task #1 with input
- $ clojure -M -m tw.weekly.c117.t1 FILE
+ $ clojure -M -m tw.weekly.c118.t1 N
# ... or ...
- $ bb run task-1 FILE
+ $ bb run task-1 N
Run Task #2 with input:
- $ clojure -M -m tw.weekly.c117.t2 N
+ $ clojure -M -m tw.weekly.c118.t2
# ... or ...
- $ bb run task-2 N
+ $ bb run task-2
## Project Template
diff --git a/challenge-118/tyler-wardhaugh/clojure/bb.edn b/challenge-118/tyler-wardhaugh/clojure/bb.edn
index 0409645368..d6814eab4a 100644
--- a/challenge-118/tyler-wardhaugh/clojure/bb.edn
+++ b/challenge-118/tyler-wardhaugh/clojure/bb.edn
@@ -63,9 +63,7 @@
:task (run-task :t1 *command-line-args*)}
task-1-bb {:doc "Run Task 1 (via Babashka)"
- :task (binding [*out* *err*]
- (println "error: can't run Task 1 via Babashka because it depends on an incompatible library.")
- (System/exit 1))}
+ :task (run-task-bb :t1 *command-line-args*)}
task-2 {:doc "Run Task 2 (via clojure)"
:task (run-task :t2 *command-line-args*)}
diff --git a/challenge-118/tyler-wardhaugh/clojure/deps.edn b/challenge-118/tyler-wardhaugh/clojure/deps.edn
index b971f3081f..803cdffd33 100644
--- a/challenge-118/tyler-wardhaugh/clojure/deps.edn
+++ b/challenge-118/tyler-wardhaugh/clojure/deps.edn
@@ -1,6 +1,5 @@
{:paths ["src" "resources"]
- :deps {org.clojure/clojure {:mvn/version "1.10.3"}
- net.cgrand/xforms {:mvn/version "0.19.2"}}
+ :deps {org.clojure/clojure {:mvn/version "1.10.3"}}
:aliases
{:test
{:extra-paths ["test"]
diff --git a/challenge-118/tyler-wardhaugh/clojure/pom.xml b/challenge-118/tyler-wardhaugh/clojure/pom.xml
index ed74b5497a..ca25679f9e 100644
--- a/challenge-118/tyler-wardhaugh/clojure/pom.xml
+++ b/challenge-118/tyler-wardhaugh/clojure/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>tw.weekly</groupId>
- <artifactId>tw.weekly.c117</artifactId>
+ <artifactId>tw.weekly.c118</artifactId>
<version>0.1.0-SNAPSHOT</version>
- <name>tw.weekly.c117</name>
- <description>Challenge #117</description>
- <url>https://github.com/tw.weekly/tw.weekly.c117</url>
+ <name>tw.weekly.c118</name>
+ <description>Challenge #118</description>
+ <url>https://github.com/tw.weekly/tw.weekly.c118</url>
<licenses>
<license>
<name>Eclipse Public License</name>
@@ -24,11 +24,6 @@
<artifactId>clojure</artifactId>
<version>1.10.3</version>
</dependency>
- <dependency>
- <groupId>net.cgrand</groupId>
- <artifactId>xforms</artifactId>
- <version>0.19.2</version>
- </dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
diff --git a/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/core.clj b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/core.clj
new file mode 100644
index 0000000000..a138d86127
--- /dev/null
+++ b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/core.clj
@@ -0,0 +1,12 @@
+(ns tw.weekly.c118.core
+ (:require [tw.weekly.c118.t1 :as t1])
+ (:require [tw.weekly.c118.t2 :as t2])
+ (:gen-class))
+
+(defn -main
+ "Run all tasks"
+ [& _]
+ (println "Task #1:")
+ (t1/-main)
+ (println "\nTask #2:")
+ (t2/-main))
diff --git a/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj
new file mode 100644
index 0000000000..d5f2bdb703
--- /dev/null
+++ b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj
@@ -0,0 +1,18 @@
+(ns tw.weekly.c118.t1
+ (:require [clojure.edn :as edn]))
+
+;;;
+; Task description for TASK #1 › Binary Palindrom
+;;;
+(def DEFAULT-INPUT [5])
+
+(defn binary-palindrome
+ ""
+ [n])
+
+(defn -main
+ "Run Task 1 with a given input N, defaulting to the first example from the
+ task description."
+ [& args]
+ (let [[N] (or (some->> args (map edn/read-string)) DEFAULT-INPUT)]
+ (println (if (binary-palindrome N) 1 0))))
diff --git a/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t2.clj b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t2.clj
new file mode 100644
index 0000000000..a9d990ccd5
--- /dev/null
+++ b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t2.clj
@@ -0,0 +1,15 @@
+(ns tw.weekly.c118.t2
+ (:require [clojure.edn :as edn]
+ [clojure.pprint :refer [cl-format]]))
+
+;;;
+; Task description for TASK #2 › Adventure of Knight
+;;;
+(def DEFAULT-INPUT [])
+
+(defn -main
+ "Run Task 2 with a given input N, defaulting to the first example from the
+ task description."
+ [& args]
+ (let [[N] (or (some->> args (map edn/read-string)) DEFAULT-INPUT)]
+ ))
diff --git a/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj b/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj
new file mode 100644
index 0000000000..999b044703
--- /dev/null
+++ b/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj
@@ -0,0 +1,12 @@
+(ns tw.weekly.c118-test
+ (:require [clojure.test :refer [deftest is testing]]
+ #_[tw.weekly.c118.t1 :refer []]
+ #_[tw.weekly.c118.t2 :refer []]))
+
+(deftest task-1
+ (testing "Task 1, Binary Palindrom"
+ ))
+
+(deftest task-2
+ (testing "Task 2, Adventure of Knight"
+ ))