晚上,
这是我在 Haskell 中尝试等效于“str_replace”
strReplace :: (Char, Char) -> String -> String -> String {- Original (y) Parsed (z) -}
strReplace _ "" y = y
strReplace x y z = if (y !! 0) == fst x then strReplace x (drop 1 y) (z:([snd x])) else strReplace x (drop 1 y) (z:(y!!0))
本质上,第一个 Tuple 是要替换的字符(即 ('A', 'B') 替换所有 As to Bs,第二个参数是要解析的 String,第三个参数应该始终为空字符串。编译器返回
*** Expression : z : [snd x]
*** Term : z
*** Type : [Char]
*** Does not match : Char
想法?:)