在haskell中将字符替换为数字

use*_*400 1 haskell

我有change一些功能,可以将一些字符替换为数字.这里是:

change [] = []
change (x:xs) | x == 'A'  = '9':'9':change xs
              | x == 'B'  = '9':'8':change xs
              | otherwise = change xs
Run Code Online (Sandbox Code Playgroud)

输出是:

Main> change "aAB11s"
"9998" 
Run Code Online (Sandbox Code Playgroud)

但我需要这个:

Main> change "aAB11s"
"a999811s" 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

kos*_*tya 7

试试这个:

change [] = []
change (x:xs) | x == 'A'  = '9':'9':change xs
              | x == 'B'  = '9':'8':change xs
              | otherwise = x:change xs
Run Code Online (Sandbox Code Playgroud)

唯一的变化就是其他方面.