這是我想要做的一個例子。這個Haskell列表代碼有什麼問題?
let b = ["this","is","a","test!"]
"xx" ++ (b!!3)
這會給我「xxtest!」
基本上,如果列表中包含帶有感嘆號的任何字符串,則「xx」將被添加到此特定字符串中。我的問題是如何將它實現爲正確的功能。
目前我得到這個
replaceElement [] = []
replaceElement (x:xs) =
if '!' `elem` x
then ["xx"] ++ x : replaceElement xs
else x: replaceElement xs
但這個功能只是補充「XX」成列表作爲一個元素,它不會被添加到列表中的特定字符串。如何使用「xx」++(b !! x)其中x是帶有感嘆號的字符串的位置。