From 85ffa5990c63c45795da96f647fdfeebc6ad3c69 Mon Sep 17 00:00:00 2001 From: Kenneth Kostresevic Date: Wed, 15 Dec 2021 15:10:10 +0100 Subject: [PATCH 1/3] Solve lazy sequences --- src/koans/11_lazy_sequences.clj | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/koans/11_lazy_sequences.clj b/src/koans/11_lazy_sequences.clj index 5144361..c4b77ac 100644 --- a/src/koans/11_lazy_sequences.clj +++ b/src/koans/11_lazy_sequences.clj @@ -3,26 +3,26 @@ (meditations "There are many ways to generate a sequence" - (= __ (range 1 5)) + (= '(1 2 3 4) (range 1 5)) "The range starts at the beginning by default" - (= __ (range 5)) + (= '(0 1 2 3 4) (range 5)) "Only take what you need when the sequence is large" (= [0 1 2 3 4 5 6 7 8 9] - (take __ (range 100))) + (take 10 (range 100))) "Or limit results by dropping what you don't need" (= [95 96 97 98 99] - (drop __ (range 100))) + (drop 95 (range 100))) "Iteration provides an infinite lazy sequence" - (= __ (take 8 (iterate (fn [x] (* x 2)) 1))) + (= '(1 2 4 8 16 32 64 128) (take 8 (iterate (fn [x] (* x 2)) 1))) "Repetition is key" (= [:a :a :a :a :a :a :a :a :a :a] - (repeat 10 __)) + (repeat 10 :a)) "Iteration can be used for repetition" (= (repeat 100 "hello") - (take 100 (iterate ___ "hello")))) + (take 100 (iterate (fn [x] x) "hello")))) From f8b97ede65cddca1ab45bd6fbf7804a97f1c5d05 Mon Sep 17 00:00:00 2001 From: Kenneth Kostresevic Date: Thu, 16 Dec 2021 16:13:37 +0100 Subject: [PATCH 2/3] Use vectors --- src/koans/11_lazy_sequences.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/koans/11_lazy_sequences.clj b/src/koans/11_lazy_sequences.clj index c4b77ac..a9c9742 100644 --- a/src/koans/11_lazy_sequences.clj +++ b/src/koans/11_lazy_sequences.clj @@ -3,10 +3,10 @@ (meditations "There are many ways to generate a sequence" - (= '(1 2 3 4) (range 1 5)) + (= [1 2 3 4] (range 1 5)) "The range starts at the beginning by default" - (= '(0 1 2 3 4) (range 5)) + (= [0 1 2 3 4] (range 5)) "Only take what you need when the sequence is large" (= [0 1 2 3 4 5 6 7 8 9] From 951a43ccd7abd72e3243da541b151206f8651eaa Mon Sep 17 00:00:00 2001 From: Kenneth Kostresevic Date: Thu, 16 Dec 2021 16:20:08 +0100 Subject: [PATCH 3/3] Use identity --- src/koans/11_lazy_sequences.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/koans/11_lazy_sequences.clj b/src/koans/11_lazy_sequences.clj index a9c9742..7cb6aa9 100644 --- a/src/koans/11_lazy_sequences.clj +++ b/src/koans/11_lazy_sequences.clj @@ -25,4 +25,4 @@ "Iteration can be used for repetition" (= (repeat 100 "hello") - (take 100 (iterate (fn [x] x) "hello")))) + (take 100 (iterate identity "hello"))))