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

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

[elpa] externals/dash ff3d7bd 190/426: Add -sum function.


From: Phillip Lord
Subject: [elpa] externals/dash ff3d7bd 190/426: Add -sum function.
Date: Tue, 04 Aug 2015 19:37:38 +0000

branch: externals/dash
commit ff3d7bd333902c99b2d8c5d58587c5b08b43a3dc
Author: Johan Andersson <address@hidden>
Commit: Johan Andersson <address@hidden>

    Add -sum function.
---
 README.md       |   11 +++++++++++
 dash.el         |    5 +++++
 dev/examples.el |    5 +++++
 3 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md
index 0fc1f8c..9c5c536 100644
--- a/README.md
+++ b/README.md
@@ -75,6 +75,7 @@ Or you can just dump `dash.el` in your load path somewhere.
 * [-if-let*](#-if-let-vars-vals-then-optional-else) `(vars-vals then &optional 
else)`
 * [!cons](#-cons-car-cdr) `(car cdr)`
 * [!cdr](#-cdr-list) `(list)`
+* [-sum](#-sum-list) `(list)`
 
 There are also anaphoric versions of these functions where that makes sense,
 prefixed with two dashes instead of one.
@@ -825,6 +826,16 @@ Destructive: Sets `list` to the cdr of `list`.
 (let ((l '(3 5))) (!cdr l) l) ;; => '(5)
 ```
 
+### -sum `(list)`
+
+Return the sum of `list`.
+
+```cl
+(-sum '()) ;; => 0
+(-sum '(1)) ;; => 1
+(-sum '(1 2 3)) ;; => 6
+```
+
 
 ## Contribute
 
diff --git a/dash.el b/dash.el
index 025ec11..11e9e67 100644
--- a/dash.el
+++ b/dash.el
@@ -872,6 +872,10 @@ Returns nil if N is less than 1."
     (--dotimes n (!cons x ret))
     ret))
 
+(defun -sum (list)
+  "Return the sum of LIST."
+  (apply '+ list))
+
 (eval-after-load "lisp-mode"
   '(progn
      (let ((new-keywords '(
@@ -974,6 +978,7 @@ Returns nil if N is less than 1."
                            "-contains-p"
                            "-repeat"
                            "-cons*"
+                           "-sum"
                            ))
            (special-variables '(
                                 "it"
diff --git a/dev/examples.el b/dev/examples.el
index 48561ba..4ad980f 100644
--- a/dev/examples.el
+++ b/dev/examples.el
@@ -336,3 +336,8 @@
 (defexamples !cdr
   (let ((l '(3))) (!cdr l) l) => '()
   (let ((l '(3 5))) (!cdr l) l) => '(5))
+
+(defexamples -sum
+  (-sum '()) => 0
+  (-sum '(1)) => 1
+  (-sum '(1 2 3)) => 6)



reply via email to

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