Use a recursive strategy instead of loop macro

This commit is contained in:
Marcus Kammer 2025-01-03 16:25:26 +01:00
parent 2f01a098ea
commit 5b225e7fe0
Signed by: marcuskammer
GPG key ID: C374817BE285268F

View file

@ -21,13 +21,12 @@
(defclass sus-calculator (calculator) ()) (defclass sus-calculator (calculator) ())
(defmethod calculator-calc-results ((calc sus-calculator) responses) (defmethod calculator-calc-results ((calc sus-calculator) responses)
(loop :for response :in responses (mapcar (lambda (response)
:for timestamp = (first response) (destructuring-bind (timestamp &rest answers) response
:for values = (reverse-pairs (aggregate-values-per-group #'sus-response-entry-process (let ((values (reverse-pairs (aggregate-values-per-group #'sus-response-entry-process answers))))
(rest response))) (list* :TIMESTAMP timestamp (nconc values (sus-calc-score values))))))
:collect (cons :TIMESTAMP responses))
(cons timestamp
(append values (sus-calc-score values))))))
;;; ;;;
;;; DISPLAYER ;;; DISPLAYER
;;; ;;;