emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dash a23aa4b 128/426: Add examples for -group-by


From: Phillip Lord
Subject: [elpa] externals/dash a23aa4b 128/426: Add examples for -group-by
Date: Tue, 04 Aug 2015 19:37:10 +0000

branch: externals/dash
commit a23aa4bf2807067d20e6922c3cd4aad843657d22
Author: Takafumi Arakaki <address@hidden>
Commit: Takafumi Arakaki <address@hidden>

    Add examples for -group-by
---
 README.md   |   12 ++++++++++++
 examples.el |    5 +++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md
index b69d9ba..3ef011b 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,7 @@ Or you can just dump `dash.el` in your load path somewhere.
 * [-partition](#-partition-n-list) `(n list)`
 * [-partition-all](#-partition-all-n-list) `(n list)`
 * [-partition-by](#-partition-by-fn-list) `(fn list)`
+* [-group-by](#-group-by-fn-list) `(fn list)`
 * [-interpose](#-interpose-sep-list) `(sep list)`
 * [-interleave](#-interleave-rest-lists) `(&rest lists)`
 * [-first](#-first-pred-list) `(pred list)`
@@ -375,6 +376,17 @@ Applies `fn` to each value in `list`, splitting it each 
time `fn` returns a new
 (--partition-by (< it 3) '(1 2 3 4 3 2 1)) ;; => '((1 2) (3 4 3) (2 1))
 ```
 
+### -group-by `(fn list)`
+
+Separate `list` into an alist whose keys are `fn` applied to the
+elements of `list`.  Keys are compared by `equal`.
+
+```cl
+(-group-by 'even? '()) ;; => '()
+(-group-by 'even? '(1 1 2 2 2 3 4 6 8)) ;; => '((nil 1 1 3) (t 2 2 2 4 6 8))
+(--group-by (car (split-string it "/")) '("a/b" "c/d" "a/e")) ;; => '(("a" 
"a/b" "a/e") ("c" "c/d"))
+```
+
 ### -interpose `(sep list)`
 
 Returns a new list of all elements in `list` separated by `sep`.
diff --git a/examples.el b/examples.el
index 8bc0a37..14b38e1 100644
--- a/examples.el
+++ b/examples.el
@@ -150,6 +150,11 @@
   (-partition-by 'even? '(1 1 2 2 2 3 4 6 8)) => '((1 1) (2 2 2) (3) (4 6 8))
   (--partition-by (< it 3) '(1 2 3 4 3 2 1)) => '((1 2) (3 4 3) (2 1)))
 
+(defexamples -group-by
+  (-group-by 'even? '()) => '()
+  (-group-by 'even? '(1 1 2 2 2 3 4 6 8)) => '((nil . (1 1 3)) (t . (2 2 2 4 6 
8)))
+  (--group-by (car (split-string it "/")) '("a/b" "c/d" "a/e")) => '(("a" . 
("a/b" "a/e")) ("c" . ("c/d"))))
+
 (defexamples -interpose
   (-interpose "-" '()) => '()
   (-interpose "-" '("a")) => '("a")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]