Advertisement
Guest User

Haskell Printing Maps

a guest
Jan 27th, 2020
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. store:: Map.Map String Integer
  2. store = Map.fromList [("x", 2), ("y", 3)]
  3.  
  4. main:: IO()
  5. main = do
  6.     putStr "{"
  7.     Map.foldrWithKey (\k v b -> do {putStr (k ++ " → " ++ (show v)); b}) (return()) store
  8.     putStr "}"
  9.  
  10. -- This prints {x → 2y → 3}
  11. -- I want {x → 2, y → 3}
  12. -- I was trying something like this:
  13. -- Map.foldrWithKey (\k v b -> do {putStr (k ++ " → " ++ (show v)); if b!="" then b else putStr ", "; b}) (return()) store
  14. -- I'm not really sure how to do putStr (k ++ " → " ++ (show v)) for the first element
  15. -- then do {putStr (", " ++ k ++ " → " ++ (show v)); b}) (return()) store for all the elements after
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement