adding about functions
This commit is contained in:
		
							
								
								
									
										21
									
								
								koans/about_functions.clj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								koans/about_functions.clj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| (defn count-items [& items] | ||||
|   (count items)) | ||||
|  | ||||
| (meditations | ||||
|   "Functions are often defined before they are used" | ||||
|   (= __ (count-items :a :b :c :d)) | ||||
|  | ||||
|   "But they can also be defined inline" | ||||
|   (= __ ((fn [n] (Math/pow n 10)) 2)) | ||||
|  | ||||
|   "Or using even shorter syntax" | ||||
|   (= __ (#(Math/pow % 10))) | ||||
|  | ||||
|   "Functions can beget others" | ||||
|   (= __ (((fn [] | ||||
|             (fn [a b] (+ a b)))) | ||||
|           4 5)) | ||||
|  | ||||
|   "Higher-order functions take function arguments" | ||||
|   (= 25 ((fn [f] (f 5)) | ||||
|           (fn [n] (__ __ __))))) | ||||
| @@ -16,4 +16,5 @@ | ||||
| (load "about_vectors") | ||||
| (load "about_sets") | ||||
| (load "about_maps") | ||||
| (load "about_functions") | ||||
| (println "You have acheived clojure enlightenment. Namaste.") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user