问题标签 [arity]

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 投票
2 回答
614 浏览

common-lisp - 如何获取函数的参数数量

我正在寻找一种获取函数参数数量的方法,该函数类似于length-args下面的虚构函数:

在实践中,我真正需要的是从我的测试库中解决一个问题,我从 javascript 到 lisp,我在其中处理同步和异步测试,我需要做这样的事情(最大限度地简化现实) :

0 投票
0 回答
245 浏览

enums - 在这种情况下,“类型归属”指的是什么?

在这种情况下,错误归因指的是什么?如何根据传入的参数将我的代码修复为 println?

运行下面的代码会引发错误:

main.rs:

0 投票
1 回答
957 浏览

list - 如何在 Haskell 中使用带有变量和列表的地图

我打算编写一个 map 函数,它本质上接受一个变量和一个列表并返回一个列表。

我尝试使用标准地图,但从我所看到的格式来看,它是“地图功能列表”格式,当我在这里尝试传递另一个参数时,这是另一点。

例如,如果我有一个向量,例如 (2,2),并且我有一个点列表,例如 [(-2,1),(0,0), (5,4) 等] 我想使用map 将 (2,2) 添加到列表中的所有点并返回点列表,我不知道该怎么做。我是 Haskell 的新手,所以任何提示都会很棒。

0 投票
2 回答
117 浏览

c++ - 基于 lambda arity 的专业化函数模板

我正在尝试根据我作为参数传递给它的 lambda 的数量来专门化一个模板化函数。这是我想出的解决方案:

有没有办法以更优雅的方式实现这一目标?我已经看过了:Arity of a generic lambda

但是,最新的解决方案(florestan's)将所有参数都转换为aribtrary_t,因此必须将它们转换回每个 lambda 内部,我认为这并不理想。理想情况下,我希望直接higherOrderFun使用 SFINAE 专门化模板化,但我使用辅助类来实现这一点。有没有更直接的方法?例如直接应用 SFINAEhigherOrderFun而不依赖于一个helper类?这样做的重点是不必更改higherOrderFunhigherOrderFun2and higherOrderFun3,而是让编译器从 lambda 和给定参数 ( const T& a) 中推断出正确的特化。

我应该提一下,我也不关心函数参数的类型——只关心它们的数量,所以如果可能的话,我会在我的示例中更改decltype(a.someVal())auto(也许有一种方法可以规避显式定义类型? )。

0 投票
0 回答
90 浏览

javascript - 如何为所有类型的输入纠正可变长度柯里化函数或一般柯里化函数?

如何完成所有这些情况下最“currying”的功能?“柯里化”函数必须为任何此类函数调用返回正确答案。

0 投票
2 回答
1971 浏览

java - 为什么这个 Java 方法调用被认为是模棱两可的?

我遇到了一条奇怪的错误消息,我认为它可能不正确。考虑以下代码:

如果我有一个看起来像这样的方法:

我们得到的错误是完全合理的;参数 toload()可以分配给任何一个,所以我们得到一个错误,指出方法调用不明确。

相反,如果我有一个看起来像这样的方法:

调用load()很好,正如预期的那样,我不能将方法引用分配给两者SupplierProcessor因为它并不模棱两可:Overloaded::notAmbiguous不能分配给p2.

现在是奇怪的。如果我有这样的方法:

编译器抱怨对load()( ) 的调用不明确error: reference to load is ambiguous,但与图表 A 不同的是,我不能将方法引用同时分配给SupplierProcessor。如果它真的模棱两可,我觉得我应该能够像在 Exhibit A 中那样为这两种重载参数类型分配s3和分配,但是我在声明. Exhibit C 中的第二个错误是有道理的,不能分配给,但是如果它不能分配,为什么它仍然被认为是模棱两可的?p3p3error: incompatible types: invalid method referenceOverloaded::strangelyAmbiguous Processor

在确定选择哪个重载版本时,方法引用推断似乎只查看 FunctionalInterface 的数量。在变量赋值中,检查参数的数量类型,这导致重载方法和变量赋值之间存在这种差异。

在我看来,这就像一个错误。如果不是,至少错误消息是不正确的,因为当两个选择之间只有一个是正确的时,可以说没有歧义。

0 投票
2 回答
81 浏览

arrays - 如何将 0 元匿名函数应用于数组

有一个ArrayofInt和一个没有参数的函数:

我想用or将该函数f()应用于数组。我尝试了以下方法。map()transform()

第一种方法

它失败了,我真的不明白为什么。

第二种方法

这个有效。但是,我声明了一个x不在=>. 似乎匿名函数至少需要一个参数。

  • 不使用正确x吗?
  • 它甚至是一种糟糕的功能风格吗?

实际例子

举例说明为什么要使用它。想象一下,我有一个数组,在某个时刻我想变异为具有随机值:

0 投票
2 回答
274 浏览

scala - 以任意数量的另一个函数作为参数的函数

我有一系列函数接受一个函数作为参数 ( func),它们的唯一区别是func接受不同数量的参数。

有没有办法让函数接受具有任何长度参数列表的函数?

我尝试使用可变长度参数列表,例如,func:(A*)但在传递任何函数时遇到了麻烦,因为它现在需要一个Seq[A].

0 投票
1 回答
80 浏览

function - 有没有一种方法可以返回一种可以拥有多个数量的乐趣?

Erlang 函数可以共享相同的名称但具有不同的数量。例如:

我希望能够从行为相同的函数中返回乐趣。

在这个例子中,我想要一种方法来返回 fun/1 和 fun/2 作为一个返回,所以返回的 fun 可以以任何一种方式调用,就像上面的函数示例一样。

我可以返回一个元组 {F1, F2} 但这很难用。

我可以返回一个以列表作为参数的 fun,但是对于像 F([X]) 或 F([X, Y]) 这样的调用,这也很丑陋。

0 投票
1 回答
32 浏览

python-3.x - Python splat-in-the-middle

可以将 splat 参数放在中间而不是末尾(似乎只有在 python 3 中):

现在你如何使用所说的功能?

我的问题是,是否曾经、曾经曾经有过这样做的理由?