added to the creating-fuctions sheet
This commit is contained in:
parent
d9f7e636ab
commit
b55332f4a8
4
script/run.clj
Normal file
4
script/run.clj
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
(load "path_to_enlightenment")
|
||||||
|
(do
|
||||||
|
(in-ns 'path-to-enlightenment)
|
||||||
|
(run))
|
4
script/test.clj
Normal file
4
script/test.clj
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
(load "path_to_answer_sheet")
|
||||||
|
(do
|
||||||
|
(in-ns 'path-to-answer-sheet)
|
||||||
|
(run))
|
36
src/koans/creating_functions.clj
Normal file
36
src/koans/creating_functions.clj
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
(defn square [x] (* x x))
|
||||||
|
|
||||||
|
(meditations
|
||||||
|
|
||||||
|
"One may know what they seek by knowing what they do not seek"
|
||||||
|
(= [__ __ __] (let [not-a-symbol? (complement symbol?)]
|
||||||
|
(map not-a-symbol? [:a 'b "c"])))
|
||||||
|
|
||||||
|
"Praise and 'complement' may help you separate the wheat from the chaff"
|
||||||
|
(= [:wheat "wheat" 'wheat]
|
||||||
|
(let [not-nil? ___]
|
||||||
|
(filter not-nil? [nil :wheat nil "wheat" nil 'wheat nil])))
|
||||||
|
|
||||||
|
"Partial functions allow procrastination"
|
||||||
|
(= 20 (let [multiply-by-5 (partial * 5)]
|
||||||
|
(___ __)))
|
||||||
|
|
||||||
|
"Don't forget: first things first"
|
||||||
|
(= [__ __ __ __]
|
||||||
|
(let [ab-adder (partial concat [:a :b])]
|
||||||
|
(ab-adder [__ __])))
|
||||||
|
|
||||||
|
"Functions can joins forces as one 'composed' function"
|
||||||
|
(= 25 (let [inc-and-square (comp square inc)]
|
||||||
|
(inc-and-square __)))
|
||||||
|
|
||||||
|
"Have a go on a tripple dec-er"
|
||||||
|
(= __ (let [double-dec (comp dec dec)]
|
||||||
|
(double-dec 10)))
|
||||||
|
|
||||||
|
"Becareful the order in which you mix your functions"
|
||||||
|
(= 99 (let [square-and-dec ___]
|
||||||
|
(square-and-dec 10)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
(meditations
|
|
||||||
"Partial functions allow procrastination"
|
|
||||||
(= 20 (let [multiply-by-5 (partial * 5)]
|
|
||||||
(___ __)))
|
|
||||||
|
|
||||||
"Don't forget: first things first"
|
|
||||||
(= [__ __ __ __]
|
|
||||||
(let [ab-adder (partial concat [:a :b])]
|
|
||||||
(ab-adder [__ __]))))
|
|
@ -86,10 +86,15 @@
|
|||||||
'(odd? index) '(* index index)
|
'(odd? index) '(* index index)
|
||||||
'[row column]
|
'[row column]
|
||||||
]}
|
]}
|
||||||
"partial_functions" {"__" [4
|
"creating_functions" {"__" [true false true
|
||||||
|
4
|
||||||
:a :b :c :d
|
:a :b :c :d
|
||||||
:c :d]
|
:c :d
|
||||||
"___" ["multiply-by-5"]}
|
4
|
||||||
|
8]
|
||||||
|
"___" ['(complement nil?)
|
||||||
|
"multiply-by-5"
|
||||||
|
'(comp dec square)]}
|
||||||
"recursion" {"__" [true 'acc
|
"recursion" {"__" [true 'acc
|
||||||
'(loop [n n acc 1]
|
'(loop [n n acc 1]
|
||||||
(if (zero? n)
|
(if (zero? n)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
"higher_order_functions"
|
"higher_order_functions"
|
||||||
"runtime_polymorphism"
|
"runtime_polymorphism"
|
||||||
"sequence_comprehensions"
|
"sequence_comprehensions"
|
||||||
"partial_functions"
|
"creating_functions"
|
||||||
"recursion"
|
"recursion"
|
||||||
"destructuring"
|
"destructuring"
|
||||||
"refs"])
|
"refs"])
|
||||||
|
Loading…
Reference in New Issue
Block a user