September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,23 +1,25 @@
|
|||
ss = "In olden times when wishing still helped one, there lived a king"
|
||||
++"whose daughters were all beautiful, but the youngest was so beautiful"
|
||||
++"that the sun itself, which has seen so much, was astonished whenever"
|
||||
++"it shone in her face. Close by the king's castle lay a great dark"
|
||||
++"forest, and under an old lime-tree in the forest was a well, and when"
|
||||
++"the day was very warm, the king's child went out into the forest and"
|
||||
++"sat down by the side of the cool fountain, and when she was bored she"
|
||||
++"took a golden ball, and threw it up on high and caught it, and this"
|
||||
++"ball was her favorite plaything."
|
||||
ss =
|
||||
concat
|
||||
[ "In olden times when wishing still helped one, there lived a king"
|
||||
, "whose daughters were all beautiful, but the youngest was so beautiful"
|
||||
, "that the sun itself, which has seen so much, was astonished whenever"
|
||||
, "it shone in her face. Close by the king's castle lay a great dark"
|
||||
, "forest, and under an old lime-tree in the forest was a well, and when"
|
||||
, "the day was very warm, the king's child went out into the forest and"
|
||||
, "sat down by the side of the cool fountain, and when she was bored she"
|
||||
, "took a golden ball, and threw it up on high and caught it, and this"
|
||||
, "ball was her favorite plaything."
|
||||
]
|
||||
|
||||
wordwrap maxlen = (wrap_ 0) . words where
|
||||
wrap_ _ [] = "\n"
|
||||
wrap_ pos (w:ws)
|
||||
-- at line start: put down the word no matter what
|
||||
| pos == 0 = w ++ wrap_ (pos + lw) ws
|
||||
| pos + lw + 1 > maxlen = '\n':wrap_ 0 (w:ws)
|
||||
| otherwise = " " ++ w ++ wrap_ (pos + lw + 1) ws
|
||||
where lw = length w
|
||||
wordwrap maxlen = wrap_ 0 . words
|
||||
where
|
||||
wrap_ _ [] = "\n"
|
||||
wrap_ pos (w:ws)
|
||||
-- at line start: put down the word no matter what
|
||||
| pos == 0 = w ++ wrap_ (pos + lw) ws
|
||||
| pos + lw + 1 > maxlen = '\n' : wrap_ 0 (w : ws)
|
||||
| otherwise = ' ' : w ++ wrap_ (pos + lw + 1) ws
|
||||
where
|
||||
lw = length w
|
||||
|
||||
main = do
|
||||
putStr $ wordwrap 72 ss
|
||||
putStr "\n"
|
||||
putStr $ wordwrap 32 ss
|
||||
main = mapM_ putStr [wordwrap 72 ss, "\n", wordwrap 32 ss]
|
||||
|
|
|
|||
|
|
@ -1,21 +1,24 @@
|
|||
import Data.List
|
||||
import Data.List (inits, tails, tail)
|
||||
|
||||
teststring = "In olden times when wishing still helped one, there lived a king"
|
||||
++" whose daughters were all beautiful, but the youngest was so beautiful"
|
||||
++" that the sun itself, which has seen so much, was astonished whenever"
|
||||
++" it shone in her face. Close by the king's castle lay a great dark"
|
||||
++" forest, and under an old lime-tree in the forest was a well, and when"
|
||||
++" the day was very warm, the king's child went out into the forest and"
|
||||
++" sat down by the side of the cool fountain, and when she was bored she"
|
||||
++" took a golden ball, and threw it up on high and caught it, and this"
|
||||
++" ball was her favorite plaything."
|
||||
testString =
|
||||
concat
|
||||
[ "In olden times when wishing still helped one, there lived a king"
|
||||
, " whose daughters were all beautiful, but the youngest was so beautiful"
|
||||
, " that the sun itself, which has seen so much, was astonished whenever"
|
||||
, " it shone in her face. Close by the king's castle lay a great dark"
|
||||
, " forest, and under an old lime-tree in the forest was a well, and when"
|
||||
, " the day was very warm, the king's child went out into the forest and"
|
||||
, " sat down by the side of the cool fountain, and when she was bored she"
|
||||
, " took a golden ball, and threw it up on high and caught it, and this"
|
||||
, " ball was her favorite plaything."
|
||||
]
|
||||
|
||||
wwrap'' _ [] = []
|
||||
wwrap'' i ss = (\(a,b) -> a : wwrap'' i b)
|
||||
$ last . filter ((<=i) . length . unwords . fst)
|
||||
$ zip (inits ss) (tails ss)
|
||||
wWrap'' _ [] = []
|
||||
wWrap'' i ss =
|
||||
(\(a, b) -> a : wWrap'' i b) $
|
||||
last . filter ((<= i) . length . unwords . fst) $ zip (inits ss) (tails ss)
|
||||
|
||||
wwrap :: Int -> String -> String
|
||||
wwrap i = unlines . map unwords . wwrap'' i . words . concat . lines
|
||||
wWrap :: Int -> String -> String
|
||||
wWrap i = unlines . map unwords . wWrap'' i . words . concat . lines
|
||||
|
||||
main = putStrLn $ wwrap 80 teststring
|
||||
main = putStrLn $ wWrap 80 testString
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue