From 5bdaa1e4ffe40add10f000ee993e6b500c419a37 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Sat, 9 Aug 2014 10:58:03 +0800 Subject: add files from home for previous chapters and sandboxes --- rmtodo.hs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 rmtodo.hs (limited to 'rmtodo.hs') diff --git a/rmtodo.hs b/rmtodo.hs new file mode 100644 index 0000000..2507d86 --- /dev/null +++ b/rmtodo.hs @@ -0,0 +1,21 @@ +import System.IO +import System.Directory +import Data.List + +main = do + handle <- openFile "todo.txt" ReadMode + (tempName, tempHandle) <- openTempFile "." "temp" + contents <- hGetContents handle + let todoTasks = lines contents + numberedTasks = zipWith (\n line -> show n ++ " - " ++ line) [0..] todoTasks + putStrLn "These are your TO-DO items:" + putStr $ unlines numberedTasks + putStrLn "Which one do you want to delete?" + numberString <- getLine + let number = read numberString + newTodoItems = delete (todoTasks !! number) todoTasks + hPutStr tempHandle $ unlines newTodoItems + hClose handle + hClose tempHandle + removeFile "todo.txt" + renameFile tempName "todo.txt" -- cgit v1.2.3-70-g09d2