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

r - S4 类 - 重载具有可变数量参数的方法

我想在我的 S4 泛型中有可变数量的参数,myMethod这样它们都是有效的:

这是我对定义的尝试:

但是,这给出了错误:

matchSignature(signature, fdef) 中的错误:方法签名 (2) 中的元素多于函数“myMethod”的通用签名 (1) 中的元素</p>

0 投票
1 回答
517 浏览

python - 使用 Elixir、erlport 和 Python 2.7.9,收到一个 arity 错误

我正在尝试将 Python 与 Elixir 一起使用,并编写了以下功能代码(您可以在此处找到我正在构建的存储库:https ://github.com/arthurcolle/elixir_with_erlport )

我可以运行iex -S mix run,然后输入 Snake.py,我将得到以下输出:

"hey there" :undefined

好,太棒了。

然后我尝试通过将上面的两行替换为:

{:ok, pp} = :python.start() :python.call(pp, :sys, :version, [])

但是当我运行它时,它给了我这个arity错误

** (FunctionClauseError) no function clause matching in :erlport.call/5 src/erlport.erl:87: :erlport.call(#PID<0.108.0>, :sys, 'version.__str__', [], [])

这对我来说没有任何意义,因为我的电话只是一个:erlport.call/4,最后有一个列表(不是它所说的 2)。

0 投票
1 回答
151 浏览

matlab - 确定函数句柄的数量和柯里化

有什么方法可以确定 MATLAB 中函数和/或 curry 函数的数量?我找不到关于此事的任何文件。

0 投票
1 回答
75 浏览

scala - 在不丢失类型的情况下抽象 scala 函数

我正在制作一个带有 lambda 的函数,并.tupled在可能的情况下使用它(arity 2+)。为了让编译器允许使用它,它需要知道 lambda 是否真的是 Function2(~ Function22)。但是,模式匹配Function2[Any,Any,Any]意味着我只剩下 a(Any, Any) => Any而不是它的原始类型。甚至不知道arity也无济于事。我尝试进行匹配case f[A <: Any, B <: Any, C <: Any]: scala.Function2[A, B, C] => f.tupled以尝试保留类型,但它实际上并不允许在案例中使用类型参数。

编码:

如果我不需要每个可能的arity级别的模式匹配案例,那么加分......

0 投票
2 回答
785 浏览

lambda - Scheme/Racket 中的函数返回特定参数的函数

如何在 Scheme / Racket 中定义一个返回特定参数函数的函数?

目前我的代码中有以下内容:

当然,它返回的函数的元数是 n:

请不要介意“+”,在我的程序中它比“+”的折叠更复杂。但是,该函数的结构也可以递归定义;如同:

但随后它返回可变参数函数:

这样所有这些都可以像正常的 Scheme 的可变参数“+”一样工作:

事实上,我只希望第一个返回结果,而其他人应该返回错误“参数数量错误”。此外,在程序的其他部分,我依赖于生成的函数的数量。因此,可变参数函数不适合我(即使它检查“参数”的长度)。我需要一组由(get-function n)返回的不同整数的函数。是否可以在 Scheme / Racket 中定义?

0 投票
1 回答
347 浏览

c++ - c ++如何获得构造函数的数量?

给定一个模板参数类T,它有一个构造函数(也没有复制或移动构造函数)和个默认参数,有什么方法可以找到 arityT(...)吗?

到目前为止我的尝试

0 投票
2 回答
770 浏览

clojure - Clojure:组合 arity 2(或更高)的函数

我正在处理具有可变数量的函数的数据,具体取决于参数。每个处理功能都将从其前身接收数据,对其进行处理并将其传递给下一个功能。

我的申请流程是

  1. 检查参数并将所需的函数存储在向量中
  2. 创建一个包含所有必要步骤的函数
  3. 调用执行文件管理并最终应用该函数的包装函数

小样:

现在我发现我不仅需要将数据传递给函数,还需要另一个数据集。

有没有办法做类似于我对 arity-1 函数所做的减少?一个简单的juxt行不通,因为每个函数都会更改下一个函数需要的数据。返回一个'(root data) 或类似的序列将需要在许多函数中进行大量重写。

有任何想法吗?我想答案是“宏观”,但我从来没有摆弄过这些......

编辑1:

第二个参数是对不断增长的图形数据结构的引用,因此它不需要由函数处理,只需以某种方式传递即可。但是这些函数可能来自不同的命名空间,所以我不能简单地将根放在更高的范围内来访问它。一个全球性的def将是可能的,但非常丑陋......

在写这篇文章时,我只是想我可能会以partial某种方式将函数映射到comp它们之前。

编辑2:

filter identity引起了很多混乱,这不是我的问题的一部分。首先,我不应该将它包含在我的示例中。我按照快速棕色狐狸的建议解决了任务,并为有时晦涩难懂而道歉。最小的类似解决方案的例子:

0 投票
1 回答
7985 浏览

function - 如何在 Elixir 中为 Enum.map 传递一个 arity 2 的函数作为参数?

假设我有类似的东西:

但相反,我想将 String.duplicate/2 函数作为参数传递,以简化我的代码:

我知道你可以为 arity 1 函数做到这一点:

谢谢!

0 投票
2 回答
860 浏览

function - Clojure 中是否有标准的参数序列标识函数?

Clojure 标准库中是否有与以下等效的函数?

如果不是,为什么?

示例用法:

请注意,我并不是要一个变革性的、急切的功能,例如vectoror list

0 投票
1 回答
323 浏览

scala - 在scala中获取函数arity

有没有办法检索函数的arity?例如,给定以下函数:

我将如何获得 arity func