Refactor elisp/anagram/equal-char-count

This commit is contained in:
dwrz
2019-01-20 19:38:17 +00:00
parent 0e32c4b5aa
commit a2bca632e8
+6 -4
View File
@@ -17,14 +17,16 @@
(1+ (cdr (assoc char char-count)))) (1+ (cdr (assoc char char-count))))
(setq char-count (cons (cons char 1) char-count)))))) (setq char-count (cons (cons char 1) char-count))))))
(defun compare-char-counts(char-counts comparison-char-counts) (defun equal-char-count(char-count comparison-char-count)
"Return t if the submitted character counts are equal, false otherwise.
CHAR-COUNT and COMPARISON-CHAR-COUNT should be alists in (character . count) format."
(let ((are-equal t)) (let ((are-equal t))
(dolist (char-count char-counts are-equal) (dolist (char-count char-count are-equal)
(if (not are-equal) nil) (if (not are-equal) nil)
(if (assoc (car char-count) comparison-char-counts) (if (assoc (car char-count) comparison-char-count)
(if (not (equal (if (not (equal
(cdr char-count) (cdr char-count)
(cdr (assoc (car char-count) comparison-char-counts)))) (cdr (assoc (car char-count) comparison-char-count))))
(setq are-equal nil)) (setq are-equal nil))
(setq are-equal nil))))) (setq are-equal nil)))))