Word wrap: Difference between revisions
m
→{{header|Haskell}}: Tidied
m (→{{header|Haskell}}: Tidied) |
|||
Line 2,421:
Alternative greedy wrapping: <lang haskell>import Data.List (inits,
wWrap :: Int -> String -> String▼
wWrap n =
concat▼
unlines
[ "In olden times when wishing still helped one, there lived a king"▼
. map unwords
, " whose daughters were all beautiful, but the youngest was so beautiful"▼
. wWrap'' n
, " that the sun itself, which has seen so much, was astonished whenever"▼
. words
, " it shone in her face. Close by the king's castle lay a great dark"▼
▲ . concat
, " forest, and under an old lime-tree in the forest was a well, and when"▼
. lines
, " 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'' :: Int -> [String] -> [[String]]
wWrap'' _ [] = []
wWrap''
(\(a, b) -> a : wWrap''
last . filter ((<=
zip (inits ss) (tails ss)
▲wWrap :: Int -> String -> String
main :: IO ()
main =
putStrLn $
wWrap 80 $
concat
" there lived a king whose daughters were all",
" was astonished whenever, it shone in her",
" the forest was a well, and when the day was",
" forest and sat down by the side of the cool",
" caught it, and this ball was her favorite",
]</lang>
=={{header|Icon}} and {{header|Unicon}}==
|