From 0e32c4b5aa90374ceade01fd1f139d9a55d341e5 Mon Sep 17 00:00:00 2001 From: dwrz Date: Sun, 20 Jan 2019 19:37:55 +0000 Subject: [PATCH] Refactor elisp/anagram/get-char-count --- elisp/anagram/anagram.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/elisp/anagram/anagram.el b/elisp/anagram/anagram.el index 6a4ccb7..9e8195e 100644 --- a/elisp/anagram/anagram.el +++ b/elisp/anagram/anagram.el @@ -6,15 +6,16 @@ (provide 'anagram) -(defun make-char-count(s) - (let ((char-list (mapcar (lambda (char) (string char)) s)) - (char-counts ())) +(defun get-char-count(w) + "Return an associative list of character counts for W." + (let ((char-list (mapcar (lambda (char) (string char)) w)) + (char-count ())) ;; Build an associative list from the character list. - (dolist (char char-list char-counts) - (if (assoc char char-counts) - (setcdr (assoc char char-counts) - (1+ (cdr (assoc char char-counts)))) - (setq char-counts (cons (cons char 1) char-counts)))))) + (dolist (char char-list char-count) + (if (assoc char char-count) + (setcdr (assoc char char-count) + (1+ (cdr (assoc char char-count)))) + (setq char-count (cons (cons char 1) char-count)))))) (defun compare-char-counts(char-counts comparison-char-counts) (let ((are-equal t))