diff options
author | Joe Zhao <ztuowen@gmail.com> | 2014-08-09 10:58:03 +0800 |
---|---|---|
committer | Joe Zhao <ztuowen@gmail.com> | 2014-08-09 10:58:03 +0800 |
commit | 5bdaa1e4ffe40add10f000ee993e6b500c419a37 (patch) | |
tree | 46a624488ece8d37fa3580422234ed2b4acc6728 /rmtodo1.hs | |
parent | 01aa73b269f7ad780233be338affdf3c9288b1ed (diff) | |
download | haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.tar.gz haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.tar.bz2 haskbox-old-5bdaa1e4ffe40add10f000ee993e6b500c419a37.zip |
add files from home for previous chapters and sandboxes
Diffstat (limited to 'rmtodo1.hs')
-rw-r--r-- | rmtodo1.hs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/rmtodo1.hs b/rmtodo1.hs new file mode 100644 index 0000000..37b6d9b --- /dev/null +++ b/rmtodo1.hs @@ -0,0 +1,19 @@ +import System.IO +import System.Directory +import Data.List + +main = do + contents <- readFile "todo.txt" + let todoTasks = lines contents + numberedTasks = zipWith (\n line -> show n ++ " - " ++ line) [0..] todoTasks + putStrLn "These are your TO-DO items:" + mapM_ putStrLn numberedTasks + putStrLn "Which one do you want to delete?" + numberString <- getLine + let number = read numberString + newTodoItems = unlines $ delete (todoTasks !! number) todoTasks + (tempName, tempHandle) <- openTempFile "." "temp" + hPutStr tempHandle newTodoItems + hClose tempHandle + removeFile "todo.txt" + renameFile tempName "todo.txt" |