0
Haskell的新手:Haskell |將Chars和Int轉換爲字符串時出現問題。
嗨似乎無法弄清楚這一點。
我所試圖做的是一個字符串,把它在一個[INT](配圖ORD)
變化的一些數字是滿足的東西(在這種情況下,x mod
3 == 0)。
事後我想把未改變的數字變回char,並且改變數字仍然是數字。結合這再次將一個字符串..
這是我的問題:
*Main> fromStringToList "hihello"
[104,105,104,101,108,108,111]
*Main> changeB3 [104,105,104,101,108,108,111]
"'h'210'h''e'216216222"
我要的是:
"h210he216216222"
我堅持搞清楚如何利用展會和地圖獲得這個工作沒有Char的'_'。謝謝。
我的代碼:
import Data.Char
fromStringToList :: String -> [Int]
fromStringToList "" = []
fromStringToList myString = map ord myString
{-
changeB3
PRE: True
POST: every Int that can be divided by 3 is multiplied by 2 and
kept as int, otherwise transformed to char
-}
changeB3 :: [Int] -> String
changeB3 [] = ""
changeB3 (x:xs)
| x `mod ` 3 == 0 = show map (x * 2) ++ changeB3 xs
|otherwise = map chr x ++ changeB3 xs
非常感謝!是的..混淆了地圖和遞歸試圖結合他們從兩個以前的功能。達成了一些不完全理解兩者背後的原則......非常感謝!很好解釋! –