From bd47029bd83f81ea7ce5fbcc7f9f711a32ba00ca Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Sun, 9 Feb 2025 12:36:40 +0000 Subject: Implement a program that reads some integers then prints their sum Allows junk, and doesn't crash horribly. --- main.lisp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/main.lisp b/main.lisp index 187e771..6076581 100644 --- a/main.lisp +++ b/main.lisp @@ -25,6 +25,19 @@ (force-output) (read-line)) +(defun read-integers () + (->> (read-input "Enter numbers: ") + (uiop:split-string) + (mapcar (lambda (s) (parse-integer s :junk-allowed t))) + (remove-if #'null))) + +(defun read-until-integers () + (let ((inp (read-integers))) + (while (null inp) + (format t "Need at least one integer...~%") + (setq inp (read-integers))) + inp)) + (defun start () - (->> (read-input "Enter name: ") - (format t "Hello, ~a!~%"))) + (--> (read-until-integers) + (format t "~a = ~a~%" (cons '+ _) (reduce #'+ _)))) -- cgit v1.2.3-13-gbd6f