例如,如果我们想将每个字符替换为字母“ B”
示例:
replace["Fiba","Voba","Lidi"] = ["Biba","Boba","Bidi"]
答案 0 :(得分:-2)
您首先要构建一个函数,该函数将在单个字符串上执行此操作,也就是说,该函数将“ Fiba”映射到“ Biba”。看起来应该像这样:
replace1 :: String -> String
replace1 (_:xs) = 'B' : xs
这利用了构造函数(:)
上的模式匹配,这意味着_
是字符串的第一个字符,而xs
是其余的字符。 (_
是一个特殊名称,可以分配多个值,但不能使用。它主要用于丢弃不需要的值,例如本例中原始字符串的第一个字符。)可以将您的replace
函数定义为
replace :: [String] -> [String]
replace = map replace1
编辑:提供的示例代码现在应该可以使用。