问题标签 [first-class-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 回答
4460 浏览

swift - swift中的“函数是一流的类型”?

我对第一类函数的一点了解是它支持将函数作为参数传递,我们也可以将它们作为另一个函数中的值返回......我是 Swift 编程语言的新手,任何人都可以用一个例子来详细说明。

0 投票
8 回答
22414 浏览

python - Python中的第一类函数是什么

我仍然对什么是一流的功能感到困惑。如果我理解正确,一等函数应该使用一个函数作为对象。这个对吗?

这是一流的功能吗?

0 投票
1 回答
226 浏览

javascript - 具有一流功能的语言是否一定允许闭包?

我理解闭包的广义概念(函数与定义时的环境快照一起存储),作为一等公民的函数意味着函数可以像语言中的任何其他数据类型一样被传递和返回。

有趣的是,我使用过的所有语言都具有一等公民的功能,例如 Python、Javascript、Scheme 似乎也总是有闭包。

实际上,在函数之间传递和返回闭包是实现函数作为语言的一等公民的一种方式,但我不确定能够编写它们是否是函数作为一等公民的直接和不可避免的结果。

更具体地说:

您能否提供一个具有一流功能但无法编写闭包的语言实际示例?

0 投票
2 回答
1710 浏览

javascript - 可以在 Javascript 中在运行时创建函数吗?

Wikipedia 关于一等公民的文章指出,“一些作者”认为,如果语言支持在运行时创建函数,则函数只是语言中的一等公民。James Coglan 写的这篇文章直截了当地把函数称为一等公民——我不知道他是否意识到关于一等标准的争论。

以下是我的问题:

  1. 使用“运行时创建”的附加标准,JavaScript 程序是一等公民吗?

值得一提的是,基于更通用的标准(适用于其他对象),JavaScript 函数显然是一等公民,即它们可以作为变量传递;因此,我觉得上面提到的标准为对话增加了一个有趣的动态——或者至少是一个清晰的动态——而不是——正如一个用户所写的——“任意”

  1. 如果是这样,在 JavaScript 中运行时创建函数是什么样的(这就是我们所说的承诺、回调、匿名等)?
  2. 如果不是,那么在运行时用另一种语言创建函数会是什么样子?
0 投票
1 回答
258 浏览

clojure - 错误数量的争论clojure

我正在构建一个程序,该程序旨在允许用户计算字符串中的字母数或单词数,但是当通过 cmd 运行程序时,我得到一个 clojure.lang.ArityException,args 数量错误( 1) 传递给:core/-main/counter--5333

我的代码是

0 投票
3 回答
649 浏览

swift - 如何快速理解swift中的“一流功能”?

我正在阅读一些关于 swift 函数式编程的书籍。当我看到一些书说swift中的函数是“一等函数”时,我混淆了“一等”的含义。有人可以回答我或给我一些示例代码吗?

0 投票
2 回答
100 浏览

swift - 第一类函数数组作为 Swift 中的实例变量

我在尝试创建一个存储函数数组的变量时遇到以下问题:

实际上这段代码无法编译错误:

'()' 不是 'MySwiftClass' 的子类型

但如果在运行时设置此数组,它会起作用:

任何人都可以解释它是 Swift 编译器的错误还是预期的行为?在第一种情况下,我没有看到任何编译错误的原因,而且错误描述对我来说是有意义的。

0 投票
1 回答
850 浏览

first-class-functions - Pari/GP:用户定义函数作为返回值

我对使用用户定义函数返回函数的 Pari/GP 用户定义函数有疑问。这是一个愚蠢的例子:

我希望得到 h(1)=(g(2))(1)=y(1)=(f(2))(1)=3。我是否遇到了 Pari 中一流功能的限制,或者我做错了什么?如果是后者,我该如何解决?

0 投票
1 回答
393 浏览

javascript - 解释与 Javascript 相关的“一流函数”一词

有人可以为我解释这个术语并描述使用一流函数的典型编程情况吗?谢谢

0 投票
2 回答
34 浏览

javascript - 函数变量的参数

在提取了在 Javascript 中传递函数时如何处理参数的答案之后?我最终提出了一个需要澄清的问题。

在下面的示例中:

为什么Q使用参数 10调用会y得到值 10?