From 40bb3e65ee8976661fa2c39b9be530bfa3dc64e3 Mon Sep 17 00:00:00 2001 From: DLane Date: Tue, 25 May 2021 12:12:34 -0500 Subject: [PATCH] List Clj is complete --- src/koans/03_lists.clj | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/koans/03_lists.clj b/src/koans/03_lists.clj index dbdf6f5..d2917f7 100644 --- a/src/koans/03_lists.clj +++ b/src/koans/03_lists.clj @@ -3,43 +3,43 @@ (meditations "Lists can be expressed by function or a quoted form" - (= '(__ __ __ __ __) (list 1 2 3 4 5)) + (= '(1 2 3 4 5) (list 1 2 3 4 5)) "They are Clojure seqs (sequences), so they allow access to the first" - (= __ (first '(1 2 3 4 5))) + (= 1 (first '(1 2 3 4 5))) "As well as the rest" - (= __ (rest '(1 2 3 4 5))) + (= '(2 3 4 5)(rest '(1 2 3 4 5))) "Count your blessings" - (= __ (count '(dracula dooku chocula))) + (= 3 (count '(dracula dooku chocula))) "Before they are gone" - (= __ (count '())) + (= 0 (count '())) "The rest, when nothing is left, is empty" - (= __ (rest '(100))) + (= () (rest '(100))) "Construction by adding an element to the front is easy" - (= __ (cons :a '(:b :c :d :e))) + (= '(:a :b :c :d :e) (cons :a '(:b :c :d :e))) "Conjoining an element to a list isn't hard either" - (= __ (conj '(:a :b :c :d) :e)) + (= '(:e :a :b :c :d) (conj '(:a :b :c :d) :e)) "You can use a list like a stack to get the first element" - (= __ (peek '(:a :b :c :d :e))) + (= :a (peek '(:a :b :c :d :e))) "Or the others" - (= __ (pop '(:a :b :c :d :e))) + (= '(:b :c :d :e)(pop '(:a :b :c :d :e))) "But watch out if you try to pop nothing" - (= __ (try + (= "No dice!" (try (pop '()) (catch IllegalStateException e "No dice!"))) "The rest of nothing isn't so strict" - (= __ (try + (= ()(try (rest '()) (catch IllegalStateException e "No dice!"))))