问题标签 [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.
python - Python - 将一个函数传递给另一个函数
我正在使用 python 解决一个难题,根据我要解决的难题,我将不得不使用一组特殊的规则。如何将一个函数传递给 Python 中的另一个函数?
例子
这只是一个伪代码,因此并不具体,但我得到了要编译的代码,但我需要知道如何调用该函数Game
以及它是否正确定义,因为规则将被切换为Rule1(v)
或Rule2(v)
。
ruby - 为什么 Ruby 1.9 lambda 调用不可能没有括号前面的点?
我查看了最新的 Ruby 版本,以了解最新的变化。我尝试做的第一件事是调用 Ruby lambda/block/proc,就像使用 Python 可调用对象一样。
为什么最后一个电话不可能?会是吗?
ruby - 如何在 Ruby 中获取对包含用于调用的参数的方法的引用?
鉴于此代码:
我知道我现在可以使用:
它会返回 2。问题是,我需要更改什么才能直接调用该方法,例如:
它会将 1 作为参数发送?能够写出类似的东西会很好:
问题是,我想延迟执行我的脚本的某些部分,直到创建一些对象,并且我想避免重写一切以使用 lambdas。
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
]
现在显然我可以将函数包装如下:
但是,将函数分配给另一个名称时出现上述异常的原因是什么?
oop - 从一等函数访问类成员
我有一个带有函数列表的案例类:
我定义了 20 多个函数。其中一些函数有自己的参数,其中一些还使用案例类中的q
、r
和s
值。两个例子是:
问题是我在实例化案例类时需要引用q
、r
和两次:s
我希望能够像这样实例化类:
实现这一目标的最佳技术是什么?我可以在案例类扩展的特征中定义我的函数吗?
编辑:现实世界的应用程序有 7 个成员,而不是 3 个。只有少数功能需要访问成员。大多数功能都不关心它们。
java - 奇怪的链表/匿名类行为 - 添加时执行?
这个问题与How to Queue and Call Actual Methods..有关。无论如何,我决定(毕竟)采用匿名班级的想法。问题是当我将我的匿名类添加到链接列表时,它实际上是立即调用 execute() ......它不应该是。稍后将调用 Execute()。无论如何,这就是我所拥有的:
run() 是一个由子类实现的抽象方法。我只是不确定为什么它在添加时打印,而不是执行。我知道这意味着 performBehavior() 实际上被执行多次而不是每次执行一次,但事实并非如此。
c# - C# 中的委托和 F# 中作为第一类值的函数有什么区别?
更具体地说,委托具有作为 F# 中的第一类值所没有的功能的特征(如果有的话)是什么?C# 中的委托没有哪些作为一流值起作用的特征(如果有的话)?
ruby - 如何在 Ruby 中引用函数?
在 python 中,引用一个函数相当简单:
然而,它在 Ruby 中似乎有所不同,因为一个裸foo
实际上调用了 foo:
我如何实际将函数foo 分配给 x 然后调用它?还是有更惯用的方法来做到这一点?
clojure - 在 clojure 中将函数作为参数传递
我有一个函数,它接受一个函数和一个数字并返回函数对数字的应用,以及一个立方体函数:
当我按如下方式调用该函数时,它可以工作:
但这会返回一个错误:
但是,这有效:
解释是什么?