From 1b9ea3c36d2f32bedc0416898764f6039320274e Mon Sep 17 00:00:00 2001 From: tzlil Date: Sat, 2 Dec 2023 15:22:56 +0200 Subject: pass filename to parse --- 1/2.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to '1/2.hs') diff --git a/1/2.hs b/1/2.hs index dd932d5..a5ba754 100644 --- a/1/2.hs +++ b/1/2.hs @@ -8,9 +8,10 @@ import System.Environment digits = ["one","two","three","four","five","six","seven","eight","nine"] parse [] = (mempty,mempty) -parse l@(x:xs) = case findIndex (`isPrefixOf` l) digits of - Just i -> f (Just $ i+1) <> parse xs - Nothing -> f (readMaybe [x]) <> parse xs + +parse l@(x:xs) + | Just i <- findIndex (`isPrefixOf` l) digits = f (Just $ i+1) <> parse xs + | otherwise = f (readMaybe [x]) <> parse xs where f = (,) . First <*> Last -- cgit 1.4.1