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
非常感谢!是的..混淆了地图和递归试图结合他们从两个以前的功能。达成了一些不完全理解两者背后的原则......非常感谢!很好解释! –