simplification column.hs, le code est beau <3
parent
5af07632d1
commit
7748cd19bf
|
@ -1,16 +1,11 @@
|
||||||
import qualified Data.Text as T
|
|
||||||
|
|
||||||
splitOn :: String -> String -> [String]
|
|
||||||
splitOn x y = map T.unpack $ T.splitOn (T.pack x) $ T.pack y
|
|
||||||
|
|
||||||
transpose:: [[a]] -> [[a]]
|
transpose:: [[a]] -> [[a]]
|
||||||
transpose ([]:xs) = []
|
transpose ([]:xs) = []
|
||||||
transpose x = (map head x) : transpose (map tail x)
|
transpose x = (map head x) : transpose (map tail x)
|
||||||
|
|
||||||
addEmpty :: Int -> [a] -> [a] -> [a]
|
addEmpty :: Int -> [a] -> [a] -> [a]
|
||||||
addEmpty x v y
|
addEmpty x v y
|
||||||
| ysize == x+1 = y
|
| ysize == x = y
|
||||||
| ysize <= x = addEmpty x v (y ++ v)
|
| ysize < x = addEmpty x v (y ++ v)
|
||||||
| otherwise = []
|
| otherwise = []
|
||||||
where ysize = length y
|
where ysize = length y
|
||||||
|
|
||||||
|
@ -28,11 +23,6 @@ completeMatrix m = map (addEmpty nb [""]) m
|
||||||
column :: [[String]] -> [[String]]
|
column :: [[String]] -> [[String]]
|
||||||
column x = transpose $ formatLines $ transpose $ completeMatrix x
|
column x = transpose $ formatLines $ transpose $ completeMatrix x
|
||||||
|
|
||||||
putToLines :: [[String]] -> [String]
|
|
||||||
putToLines x = map (foldr (++) " ") x
|
|
||||||
|
|
||||||
main = do
|
main = do
|
||||||
content <- getContents
|
content <- getContents
|
||||||
-- print $ column $ map (splitOn " ") $ lines content
|
putStr $ unlines $ map unwords $ column $ map words $ lines content
|
||||||
-- print $ putToLines $ column $ map (splitOn " ") $ lines content
|
|
||||||
putStr $ unlines . putToLines $ column $ map (splitOn " ") $ lines content
|
|
||||||
|
|
Loading…
Reference in New Issue