在Haskell中使用高阶函数(过滤、映射、折叠)而不是模式匹配有什么优势吗?
我在Haskell中有一些使用模式匹配的代码。然而,我认为我可以使用折叠和过滤器。对我来说,这可能更具可读性,但我想知道它在复杂性方面是否有任何优势。使用高阶函数而不是模式匹配和手动递归的主要原因是它使代码更简洁,更易于阅读 一旦你掌握了它们的窍门,你会发现阅读源代码突然变得容易多了,因为这些函数是Haskell中最流行的函数之一在Haskell中使用高阶函数(过滤、映射、折叠)而不是模式匹配有什么优势吗?,haskell,pattern-matching,higher-order-functions,fold,Haskell,Pattern Matching,Higher Order Functions,Fold,我在Haskell中有一些使用模式匹配的代码。然而,我认为我可以使用折叠和过滤器。对我来说,这可能更具可读性,但我想知道它在复杂性方面是否有任何优势。使用高阶函数而不是模式匹配和手动递归的主要原因是它使代码更简洁,更易于阅读 一旦你掌握了它们的窍门,你会发现阅读源代码突然变得容易多了,因为这些函数是Haskell中最流行的函数之一 它也被认为是一种很好的实践,许多人都欣赏您对代码进行抽象。使用高阶函数而不是模式匹配和手动递归的主要原因是它使代码更简洁,更易于阅读 一旦你掌握了它们的窍门,你会发现
它也被认为是一种很好的实践,许多人都欣赏您对代码进行抽象。使用高阶函数而不是模式匹配和手动递归的主要原因是它使代码更简洁,更易于阅读 一旦你掌握了它们的窍门,你会发现阅读源代码突然变得容易多了,因为这些函数是Haskell中最流行的函数之一
这也被认为是一种很好的做法,许多人都喜欢抽象代码。就时间复杂性而言?如果您有效地进行模式匹配,则不会。通常,
过滤器
,等等。但是,由于例如列表融合等,工作效率会更高。但是有效的实现通常会产生类似的结果。在时间复杂度方面?如果您有效地进行模式匹配,则不会。通常,过滤器
,等等。但是,由于例如列表融合等,工作效率会更高。但是有效的实现通常会产生类似的结果。