Create quote koan
Covers - quote - syntax-quote - unquote
This commit is contained in:
		| @@ -253,4 +253,11 @@ | ||||
|                    :park "AT&T Park" | ||||
|                    'Giants | ||||
|                    "Giants"]}] | ||||
|   ["24_quote" {"__"[(1 2 3 4 5) | ||||
|                     (1 2 3 4 5) | ||||
|                     'age | ||||
|                     quote | ||||
|                     '(+ 2 3) | ||||
|                     1 2 3 | ||||
|                     1 5]}] | ||||
| ] | ||||
|   | ||||
							
								
								
									
										26
									
								
								src/koans/24_quote.clj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/koans/24_quote.clj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| (ns koans.24-quote | ||||
|   (:require [koan-engine.core :refer :all])) | ||||
|  | ||||
|  | ||||
| (meditations | ||||
|   "use quote to express a list" | ||||
|   (= (quote __) (list 1 2 3 4 5)) | ||||
|  | ||||
|   "Clojure provide a shotcut" | ||||
|   (= (quote __)  '(1 2 3 4 5)) | ||||
|    | ||||
|   "The quote special operator prevents its argument from being evaluated at all" | ||||
|   (= __ (let [age 9] (quote age))) | ||||
|  | ||||
|   "You can use a literal list as a data collection without having Clojure try to call a function" | ||||
|   (= (cons 1 (__ (2 3))) (list 1 2 3) (cons 1 [2 3])) | ||||
|  | ||||
|   "Th quote affects all of its argument, not just the top level" | ||||
|   (= (list 1 __) '(1 (+ 2 3))) | ||||
|  | ||||
|   "Syntax-quote has a few extra features that make it ideal for constructing collections to be used as code." | ||||
|   (= (list __ __ __) `(1 2 3) '(1 2 3)) | ||||
|  | ||||
|   "Unquote is used to demarcate specific forms as requiring evaluation by prefixing fhem with the symbol ~ within the body of a syntax-quote" | ||||
|   (= (list __ __) `(1 ~(+ 2 3)) '(1 5)) | ||||
|   ) | ||||
		Reference in New Issue
	
	Block a user