【发布时间】:2014-01-29 03:42:35
【问题描述】:
我正在尝试用 Haskell 中的另一个字符串替换一个字符串。这是我到目前为止的代码,但它并不完全有效。
replace :: [Char] -> [Char]
replace [] = []
replace (h:t) =
if h == "W"
then "VV" : replace t
else h : replace t
我希望能够做到这一点,例如:如果字符串是“HELLO WORLD”,结果应该是“HELLO VVORLD”。我认为 words/unwords 会有所帮助,但不完全确定如何实现它。
【问题讨论】:
-
除了J.Abrahamson 在the answer here 中提供的内容,请仔细阅读函数中的类型。您使用
[Char],这意味着它只能使用Chars,而不能使用其他任何东西。还要注意(:)的类型。是的,Haskell 很有趣! :-)