【发布时间】:2016-02-14 11:08:31
【问题描述】:
我在编写这个函数时遇到了麻烦,它接受一个字符和一个字符列表,然后消除该输入字符在列表中的最后一次出现。我能够使用下面的函数取出第一次出现的输入字符:
fun :: Char -> String -> String
fun c (s:ss)
| s == c = ss
| otherwise = s : fun c ss
fun _ [] = []
我需要帮助的是我应该如何修改这个函数来取出输入字符的最后一次出现,而不是第一次出现。结果应该类似于fun 'c' "abcdccytrc" 返回"abcdccytr"。
【问题讨论】:
-
如何反转字符串,然后使用您的函数?这可能不是您想要的,但它会起作用。
-
我正在考虑这个问题,我确实尝试过,但我试图将它全部保存在一个函数中。
-
是的,这就是我试图在一个函数中回答的原因。但正如 Will Ness 和 chi 对我的回答所评论的那样,有更好的解决方案。如果您将接受的答案切换为 @SimonShine 的答案,我会更喜欢它,但谢谢!
标签: string list function haskell winghci