Created
November 20, 2016 04:18
-
-
Save badarshahzad/3108ac7cffacaaa5d7781268f78ca88f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a = [" aaaaa "," a a "," a a "," aaaaaaa "," a a "," a a "," a a "] | |
replicateIt :: Int -> [Char] -> [Char] | |
replicateIt x ls=take x (cycle ls) | |
repeatIt num []=[] | |
repeatIt num (x:sx)= replicateIt num [x]:(repeatIt num sx) | |
hStretchChar :: Int -> Char -> String | |
hStretchChar i ch = replicate i ch | |
hStretchString :: Int -> String -> String | |
hStretchString i sts = concat ( map ( hStretchChar i) sts) | |
hStretchListOfString :: Int -> [String] -> [String] | |
hStretchListOfString i stlist = map (hStretchString i ) stlist | |
vStretchString :: Int -> String -> String | |
vStretchString i str = concat (replicate i (str ++ "\n")) | |
vStretchListOfString :: Int -> [String] -> [String] | |
vStretchListOfString i strList = map (vStretchString i) strList | |
stretch :: Int -> Int -> [String] -> [String] | |
stretch i j strList = vStretchListOfString i (hStretchListOfString j strList) | |
showMat' :: [String] -> IO() | |
showMat' strList = putStr (concat (stretch 1 1 strList)) | |
--Left Attach Character | |
leftattach :: Char -> [String] -> [String] | |
leftattach a strlist = map ( a: ) strlist | |
showMatCharAttachLeft :: Char -> [String] -> IO() | |
showMatCharAttachLeft a strList = putStr (concat (stretch 1 1 ( leftattach a strList))) | |
charToString :: Char -> String | |
charToString a = a:[] | |
--Right Attach Character | |
rightattach :: Char -> [String] -> [String] | |
rightattach a strlist = map (++(charToString a)) strlist | |
showMatCharAttachRight :: Char -> [String] -> IO() | |
showMatCharAttachRight a strList = putStr (concat (stretch 1 1 ( rightattach a strList))) | |
--Up Attach Character | |
upattach :: Char -> [String] -> [String] | |
upattach a strList = take (length (head strList)) (cycle (charToString a)) : strList | |
showMatUpAttach :: Char -> [String] -> IO() | |
showMatUpAttach a strList = putStr (concat (stretch 1 1 (upattach a strList))) | |
--Down Attach Character | |
downattach :: Char -> [String] -> [String] | |
downattach a strList = strList ++ listOfCharTolistOfString (take (length (head strList)) (cycle (charToString a))) | |
showMatDownAttach :: Char -> [String] -> IO() | |
showMatDownAttach a strList = putStr (concat (stretch 1 1 (downattach a strList))) | |
listOfCharTolistOfString :: [Char] -> [String] | |
listOfCharTolistOfString a = a:[] | |
--Give a number and string and result will be in list of string | |
toStringList :: Int -> String -> [String] | |
toStringList i [] = [] | |
toStringList i str = (take i str): (toStringList i(drop i str)) | |
stich :: Int -> [String] -> String -> [String] | |
stich num strlist str = zipWith (++) strlist (toStringList (num - length(head strlist)) str) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment