simplification column.hs, le code est beau <3

master
karchnu 2016-01-04 13:41:30 +01:00
parent 5af07632d1
commit 7748cd19bf
1 changed files with 3 additions and 13 deletions

View File

@ -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