gpt4 book ai didi

string - 从 Haskell 中的字符串列表中删除字符串

转载 作者:行者123 更新时间:2023-12-04 23:04:04 25 4
gpt4 key购买 nike

我有一个关于 Haskell 的问题一直困扰着我。我目前需要编写一个删除字符串的函数,即 "word"来自字符串列表 ["hi", "today", "word", "Word", "WORD"]返回列表 ["hi", "today", "Word", "WORD"] .我不能使用任何高阶函数,只能求助于原始递归。

考虑这个问题,我想也许我可以通过使用递归来解决它,搜索第一个字符串的头部,如果它匹配 "w"然后从尾部比较下一个头部,看看是否匹配 "o" .但后来我很快意识到,完成所有这些工作后,您将无法删除完整的字符串 "word"。 .

我的问题实际上是如何比较列表中的整个字符串,而不是一次只比较 1 个元素,例如:removeWord (x:xs) .甚至有可能吗?我是否必须编写一个辅助函数来帮助解决?

最佳答案

考虑基本情况:从空列表中删除一个单词将是空列表。这可以简单地写成这样:

removeWord [] _ = []

现在考虑列表不为空的情况。您 match这与 x:xs .您可以使用 a guard在这两个条件之间进行选择:
  • x是您要删除的单词。 ( x == word )
  • x不是您要删除的词。 ( otherwise )
  • 关于string - 从 Haskell 中的字符串列表中删除字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16502986/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com