diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-10 06:28:40 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-11 00:40:19 +0000 |
commit | 5a48b66dd649a4dafce56749487f8060637e452c (patch) | |
tree | a392fdbcf8c42c657b174cd868bf1ef5df57608d | |
parent | 6b60c5065b55b8886285afba01021a531645bd38 (diff) | |
download | cantedraw-5a48b66dd649a4dafce56749487f8060637e452c.tar.gz cantedraw-5a48b66dd649a4dafce56749487f8060637e452c.tar.bz2 cantedraw-5a48b66dd649a4dafce56749487f8060637e452c.zip |
Extract parsing logic from read-integers into parse-integers
-rw-r--r-- | main.lisp | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -20,21 +20,22 @@ (in-package :main) -(fn read-input (&optional (prompt "> ")) - (-> (&optional string) string) +(fn read-input (&optional (prompt "> ")) (-> (&optional string) string) (format t "~a" prompt) (force-output) (read-line)) -(fn read-integers () - (-> nil list) - (->> (read-input "Enter numbers: ") +(fn parse-integers (input) (-> (string) list) + (->> input (uiop:split-string) (mapcar (lambda (s) (parse-integer s :junk-allowed t))) (remove-if #'null))) -(fn read-until-integers () - (-> nil list) +(fn read-integers () (-> nil list) + (->> (read-input "Enter numbers: ") + parse-integers)) + +(fn read-until-integers () (-> nil list) (let ((inp (read-integers))) (while (null inp) (format t "Need at least one integer...~%") |