simplification column.hs, le code est beau <3
This commit is contained in:
		
							parent
							
								
									5af07632d1
								
							
						
					
					
						commit
						7748cd19bf
					
				
					 1 changed files with 3 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -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 ([]:xs) = []
 | 
			
		||||
transpose x = (map head x) : transpose (map tail x)
 | 
			
		||||
 | 
			
		||||
addEmpty :: Int -> [a] -> [a] -> [a]
 | 
			
		||||
addEmpty x v y
 | 
			
		||||
        | ysize == x+1 = y
 | 
			
		||||
        | ysize <= x  = addEmpty x v (y ++ v)
 | 
			
		||||
        | ysize == x = y
 | 
			
		||||
        | ysize < x  = addEmpty x v (y ++ v)
 | 
			
		||||
        | otherwise  = []
 | 
			
		||||
        where ysize = length y
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -28,11 +23,6 @@ completeMatrix m = map (addEmpty nb [""]) m
 | 
			
		|||
column :: [[String]] -> [[String]]
 | 
			
		||||
column x = transpose $ formatLines $ transpose $ completeMatrix x
 | 
			
		||||
 | 
			
		||||
putToLines :: [[String]] -> [String]
 | 
			
		||||
putToLines x = map (foldr (++) " ") x
 | 
			
		||||
 | 
			
		||||
main = do
 | 
			
		||||
    content <- getContents
 | 
			
		||||
    -- print $ column $ map (splitOn " ") $ lines content
 | 
			
		||||
    -- print $ putToLines $ column $ map (splitOn " ") $ lines content
 | 
			
		||||
    putStr $ unlines . putToLines $ column $ map (splitOn " ") $ lines content
 | 
			
		||||
    putStr $ unlines $ map unwords $ column $ map words $ lines content
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue