0
如何獲得這段代碼以接受字符串列表並在外部輸出框架。我理解這個概念,但不能在最終幀函數中執行代碼。如何在haskell中的字符串列表中傳遞字符串
minusdots :: Int -> String
minusdots 1 = "-."
minusdots n
| n > 1 = "-." ++ (minusdots (n-1))
| otherwise = error "please enter greater than 1"
bar :: Int -> String
bar n
| even n = minusdots (div n 2)
| otherwise = (minusdots (div n 2)) ++ ['-']
frame :: [String] -> IO String
frame text = map putStrLn (bar m) ++ "\n" ++ textshown ++ "\n" ++ (bar m)
where
textshown = "- " ++ text ++ " -"
m = length textshown
我已經在這個一整天的工作,並提出了這一點,但還是有一些錯誤,我需要找出1.當我通過邊境串入frameM功能,如果我是通過說「SS 「有沒有什麼辦法可以讓S的框架在彼此之上,並排放置,所以我把更多的字母放入第一個參數中,框架的總周長就越大?繼承人我做了什麼:
minusdots :: Int -> String -> String
minusdots 1 a = a
minusdots n a
| n > 1 = a ++ (minusdots (n-1) a)
| otherwise = error "argument not addmissible"
bar :: String -> Int -> String
bar s n
| even n = minusdots (div n 2) s
| otherwise = (minusdots (div n 2) s) ++ s
frameM :: String -> String -> String
frameM a text = (bar a m) ++ "\n" ++ textshown ++ "\n" ++ (bar a m)
where
textshown = b ++ text ++ b
m = length textshown
b = a
你的幾個同學也在爲這個任務而努力。你應該可以跟你的老師談談。 – dfeuer
就像其他人一樣,你有一個奇怪的縮進問題......這是在線練習嗎? – Carsten
是的,當你不知道如何和同時感到沮喪時,很難,但我會問,但我懷疑我會得到幫助,因爲它很難1。 – symon