Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
25
Task/Word-wrap/Haskell/word-wrap-1.hs
Normal file
25
Task/Word-wrap/Haskell/word-wrap-1.hs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
|
||||
main = mapM_ putStr [wordwrap 72 ss, "\n", wordwrap 32 ss]
|
||||
39
Task/Word-wrap/Haskell/word-wrap-2.hs
Normal file
39
Task/Word-wrap/Haskell/word-wrap-2.hs
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import Data.List (inits, tail, tails)
|
||||
|
||||
wWrap :: Int -> String -> String
|
||||
wWrap n =
|
||||
unlines
|
||||
. map unwords
|
||||
. wWrap'' n
|
||||
. words
|
||||
. concat
|
||||
. lines
|
||||
|
||||
wWrap'' :: Int -> [String] -> [[String]]
|
||||
wWrap'' _ [] = []
|
||||
wWrap'' n ss =
|
||||
(\(a, b) -> a : wWrap'' n b) $
|
||||
last . filter ((<= n) . length . unwords . fst) $
|
||||
zip (inits ss) (tails ss)
|
||||
|
||||
|
||||
main :: IO ()
|
||||
main =
|
||||
putStrLn $
|
||||
wWrap 80 $
|
||||
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."
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue