【发布时间】:2019-12-15 10:32:28
【问题描述】:
我陷入了一个练习中,好吧,基本上,如果给定 2 个字符串列表,我们需要检查它们,看看第一个列表是否包含任何等于第二个列表的值,如果有,将某些内容保存在列表中,然后将其全部放入字符串列表中。
我有这个代码:
funcaoFinal [] [] = []
funcaoFinal _ [] = []
funcaoFinal (x:xs) (y:ys)
| xs == [] = funcaoFinal (x:xs) ys
| raioVizinhanca x y = ((splitVirgula y) !! 2) : funcaoFinal (x:xs) ys
| otherwise = funcaoFinal xs (y:ys)
如果你问 raioVizinhanca 做什么,它只是检查一个条件,这不是问题。关于splitVirgula,它只取我们想要放入列表的东西,不要对这个函数做大小写。 我的问题是:我知道ofc这个代码/递归没有做我们想要的,因为它没有保存原始列表以便能够在 xs == [] 之后继续搜索,我不知道我怎么能在Haskell 保存该列表并再次遍历它,我没有看到这个问题的另一种可能性。有人有什么主意吗 ?如果您需要一些示例(以防您不明白它必须做什么),请询问。
【问题讨论】:
标签: haskell