来自Haskell的我发现在Clojure中很难遍历某些数据类型。在Haskell中,如果我喜欢对某个类型进行递归,最基本的情况是foo (x : y : xs) = bar y (foo xs)
foo但我认为Clojure的破坏并不像Haskell的模式匹配那样强大。有一个很好的习惯方式来完成我想做的事情吗?举个例子,如果我有一个列表/向量,那么当没有更多的元素时,如何匹配一个案例呢?
这个问题是关于Scala对列表进行模式匹配和递归的方式及其性能。如果我有一个在列表上递归的函数,并且我在cons上进行匹配,例如如下所示: case Nil => Nil我使用的语义与使用Haskell时的语义相同。我不认为有任何关于Haskell实现的问题,因为这是您处理列表的简单方式。对于一个很长的列表(我将在一个只有几千个节点的列表上进行操作