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

python - Python - 将一个函数传递给另一个函数

我正在使用 python 解决一个难题,根据我要解决的难题,我将不得不使用一组特殊的规则。如何将一个函数传递给 Python 中的另一个函数?

例子

这只是一个伪代码,因此并不具体,但我得到了要编译的代码,但我需要知道如何调用该函数Game以及它是否正确定义,因为规则将被切换为Rule1(v)Rule2(v)

0 投票
2 回答
5168 浏览

ruby - 为什么 Ruby 1.9 lambda 调用不可能没有括号前面的点?

我查看了最新的 Ruby 版本,以了解最新的变化。我尝试做的第一件事是调用 Ruby lambda/block/proc,就像使用 Python 可调用对象一样。

为什么最后一个电话不可能?会是吗?

0 投票
3 回答
111 浏览

ruby - 如何在 Ruby 中获取对包含用于调用的参数的方法的引用?

鉴于此代码:

我知道我现在可以使用:

它会返回 2。问题是,我需要更改什么才能直接调用该方法,例如:

它会将 1 作为参数发送?能够写出类似的东西会很好:

问题是,我想延迟执行我的脚本的某些部分,直到创建一些对象,并且我想避免重写一切以使用 lambdas。

0 投票
3 回答
2291 浏览

javascript - 将 document.getElementById 分配给另一个函数

我正在尝试在 JavaScript 中执行以下操作:

但我收到以下错误(来自 FireBug 的控制台):

uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: http://localhost:8080/im_ass1/ :: anonymous :: line 15" data: no]

现在显然我可以将函数包装如下:

但是,将函数分配给另一个名称时出现上述异常的原因是什么?

0 投票
3 回答
321 浏览

oop - 从一等函数访问类成员

我有一个带有函数列表的案例类:

我定义了 20 多个函数。其中一些函数有自己的参数,其中一些还使用案例类中的qrs值。两个例子是:

问题是我在实例化案例类时需要引用qr和两次:s

我希望能够像这样实例化类:

实现这一目标的最佳技术是什么?我可以在案例类扩展的特征中定义我的函数吗?

编辑:现实世界的应用程序有 7 个成员,而不是 3 个。只有少数功能需要访问成员。大多数功能都不关心它们。

0 投票
1 回答
195 浏览

java - 奇怪的链表/匿名类行为 - 添加时执行?

这个问题与How to Queue and Call Actual Methods..有关。无论如何,我决定(毕竟)采用匿名班级的想法。问题是当我将我的匿名类添加到链接列表时,它实际上是立即调用 execute() ......它不应该是。稍后将调用 Execute()。无论如何,这就是我所拥有的:

run() 是一个由子类实现的抽象方法。我只是不确定为什么它在添加时打印,而不是执行。我知道这意味着 performBehavior() 实际上被执行多次而不是每次执行一次,但事实并非如此。

0 投票
2 回答
4081 浏览

c# - C# 中的委托和 F# 中作为第一类值的函数有什么区别?

更具体地说,委托具有作为 F# 中的第一类值所没有的功能的特征(如果有的话)是什么?C# 中的委托没有哪些作为一流值起作用的特征(如果有的话)?

0 投票
4 回答
10766 浏览

ruby - 如何在 Ruby 中引用函数?

在 python 中,引用一个函数相当简单:

然而,它在 Ruby 中似乎有所不同,因为一个裸foo实际上调用了 foo:

我如何实际将函数foo 分配给 x 然后调用它?还是有更惯用的方法来做到这一点?

0 投票
7 回答
24723 浏览

java - 什么是一等公民功能?

什么是一等公民功能?

Java是否支持一等公民功能?

编辑:
正如维基百科上提到的

一等函数是函数式编程风格的必需品。

头等函数还有其他用途吗?

0 投票
1 回答
6506 浏览

clojure - 在 clojure 中将函数作为参数传递

我有一个函数,它接受一个函数和一个数字并返回函数对数字的应用,以及一个立方体函数:

当我按如下方式调用该函数时,它可以工作:

但这会返回一个错误:

但是,这有效:

解释是什么?