问题标签 [higher-order-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
623 浏览

haskell - 以无点风格编写函数的一般方案是什么?

目前我正在完成20 个中级 Haskell 练习,这是一个非常有趣的练习。Functor它涉及实现类型类和Monad(以及将Functors 和s 作为参数的函数)的各种实例,Monad但使用可爱的名称,例如FurryandMisty来掩饰我们正在做的事情(产生一些有趣的代码)。

我一直在尝试以无点的方式来做这件事,我想知道是否有一个通用的方案可以将有点(?)定义变成无点定义。例如,这是 的类型类Misty

(功能unicornbananareturn>>=,以防不明显)这是我的apple(相当于flip ap)的实现:

练习的后面部分让你实现版本liftMliftM2。这是我的解决方案:

现在,banana1(相当于liftMfmap)我能够通过合适的定义以无点风格实现appleTurnover. 但是对于其他三个函数,我不得不使用参数。

我的问题是:是否有将此类定义转换为无点定义的方法

0 投票
3 回答
36700 浏览

powershell - 选择/映射 Powershell 数组的每个项目到一个新数组

我在 Powershell 中有一个文件名数组,我想为每个文件名添加一个路径,并将结果放入一个新数组中。

在 C# 中,我可以使用 Linq 来做到这一点......

但是在 Powershell 中执行此操作的惯用方法是什么?看起来我可以使用一种 foreach 语法,但我认为必须有一种更简洁、更实用的方法来做到这一点。

0 投票
2 回答
1717 浏览

python - 高阶函数与循环 - 运行时间和内存效率?

使用高阶函数和 Lambda 会使运行时间和内存效率更好还是更差?例如,将列表中的所有数字相乘:

对比

除了较少的代码行/使用功能方法之外,HOF 版本是否比循环版本有任何优势?

编辑:

我无法将此添加为答案,因为我没有所需的声誉。我按照@DSM 的建议使用 timeit 来分析循环和 HOF 方法

这是我的结果:

平均而言,循环方法似乎比使用 HOF 更快。

0 投票
1 回答
755 浏览

lambda - Lambda演算表达式实现函数应用

我刚刚找到了以下 lambda 演算表达式:

所以这是一个函数,它接受一个参数 f 并返回另一个函数,该函数接受一个参数 x 并产生 x 应用于 f 的结果。上述表达式的结果将是 (λ b . b)。

这让我想起了部分应用程序和柯里化,但是“由内而外”的函数应用程序 (fx) 引起了我的兴趣。

这个表达有更深层次的理论意义吗?

0 投票
2 回答
1308 浏览

sml - SML/NJ 中的高阶函数

我正在寻求解决问题的帮助。我正在尝试编写一个在 ML 中同时传递列表和函数的函数。基本上程序应该做的是获取一个列表并通过函数运行每个元素。如果函数返回 true,则将元素添加到列表中,并在函数完成执行后返回列表。这是我的代码:

任何帮助将不胜感激。

0 投票
3 回答
263 浏览

haskell - 需要 Haskell 高阶函数帮助

这段代码有什么问题?

我想将该addNum函数作为divideby除数的输入,然后输出答案。所以这个divideby函数应该作为一个高阶函数。

这段代码有什么问题?它给出以下错误:

0 投票
3 回答
377 浏览

haskell - 这是 Haskell 高阶函数吗?

我想知道 shift 是否是高阶函数。

0 投票
1 回答
771 浏览

haskell - 如何使用 Haskell 高阶函数 foldr 计算字符串的长度

我想使用 Haskell 高阶函数 Foldr 来计算字符串的长度

它给出以下错误。这段代码有什么问题?

0 投票
4 回答
171 浏览

haskell - 如果 map 或 filter 在另一个函数中使用,该函数会变得更高阶吗?

如果我在另一个函数中使用 map 或 filter,该函数会成为高阶函数吗?例如:

removeSpaces高阶函数吗?

0 投票
1 回答
1154 浏览

haskell - 在 Haskell 中提升高阶函数

我正在尝试构建一个类型的函数:

t单子变压器在哪里。具体来说,我有兴趣这样做:

我摆弄了一些 Haskell 魔法库,但无济于事。我怎样才能做到正确,或者在我没有找到的地方有现成的解决方案?