From 2aeb1d46e8bfa2c976c9db54033ab6995ad6c5b4 Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Wed, 8 Jul 2020 20:42:34 -0500 Subject: another example --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 377a5ac..87767c4 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,30 @@ apears at the end of the document, following the tutorial. > (car (pick-out '(40) (fibs))) ;; 267914296 ``` - + +### A Kind Of Grep + +``` lisp + + +> (defmacro a-kind-of-grep (match-var key file &rest body) + `(for ,match-var (filter! (lambda (line) (search ,key line)) + (file-lines ,file)) + ,@body)) + +;; look for export lines in my .bashrc + +> (let ((count 0)) + (a-kind-of-grep line "export" "~/.bashrc" + (incf count) + (print line))) + +"export PATH=$HOME/.roswell/bin:$PATH" +"export PATH=$HOME/.local/bin:$PATH" +2 + +``` + ## Tutorial GTWIWTG is a tiny library for creating and using generators. -- cgit v1.2.3