subtree(users/wpcarro): docking briefcase at '24f5a642'
git-subtree-dir: users/wpcarro git-subtree-mainline:464bbcb15cgit-subtree-split:24f5a642afChange-Id: I6105b3762b79126b3488359c95978cadb3efa789
This commit is contained in:
commit
019f8fd211
766 changed files with 175420 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
module IOScratch where
|
||||
|
||||
import qualified System.Environment as SE
|
||||
import qualified System.IO as SIO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
docs :: String
|
||||
docs = "Pass -e to encrypt and -d to decrypt."
|
||||
|
||||
encryptStdin :: IO ()
|
||||
encryptStdin = do
|
||||
char <- SIO.hGetChar SIO.stdin
|
||||
-- encrypt char
|
||||
SIO.hPutStr SIO.stdout [char]
|
||||
|
||||
decryptStdin :: IO ()
|
||||
decryptStdin = do
|
||||
char <- SIO.hGetChar SIO.stdin
|
||||
-- decrypt char
|
||||
SIO.hPutStr SIO.stdout [char]
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
args <- SE.getArgs
|
||||
case args of
|
||||
[] ->
|
||||
putStrLn $ "You did not pass enough arguments. " ++ docs
|
||||
["-e"] ->
|
||||
encryptStdin
|
||||
["-d"] ->
|
||||
decryptStdin
|
||||
[x] ->
|
||||
putStrLn $ "You passed an unsupported option: " ++ x ++ ". " ++ docs
|
||||
_ ->
|
||||
putStrLn $ "You passed too many arguments. " ++ docs
|
||||
Loading…
Add table
Add a link
Reference in a new issue