问题标签 [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.
r - S4 类 - 重载具有可变数量参数的方法
我想在我的 S4 泛型中有可变数量的参数,myMethod
这样它们都是有效的:
这是我对定义的尝试:
但是,这给出了错误:
matchSignature(signature, fdef) 中的错误:方法签名 (2) 中的元素多于函数“myMethod”的通用签名 (1) 中的元素</p>
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)。
matlab - 确定函数句柄的数量和柯里化
有什么方法可以确定 MATLAB 中函数和/或 curry 函数的数量?我找不到关于此事的任何文件。
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级别的模式匹配案例,那么加分......
lambda - Scheme/Racket 中的函数返回特定参数的函数
如何在 Scheme / Racket 中定义一个返回特定参数函数的函数?
目前我的代码中有以下内容:
当然,它返回的函数的元数是 n:
请不要介意“+”,在我的程序中它比“+”的折叠更复杂。但是,该函数的结构也可以递归定义;如同:
但随后它返回可变参数函数:
这样所有这些都可以像正常的 Scheme 的可变参数“+”一样工作:
事实上,我只希望第一个返回结果,而其他人应该返回错误“参数数量错误”。此外,在程序的其他部分,我依赖于生成的函数的数量。因此,可变参数函数不适合我(即使它检查“参数”的长度)。我需要一组由(get-function n)返回的不同整数的函数。是否可以在 Scheme / Racket 中定义?
c++ - c ++如何获得构造函数的数量?
给定一个模板参数类T
,它有一个构造函数(也没有复制或移动构造函数)和零个默认参数,有什么方法可以找到 arityT(...)
吗?
到目前为止我的尝试
clojure - Clojure:组合 arity 2(或更高)的函数
我正在处理具有可变数量的函数的数据,具体取决于参数。每个处理功能都将从其前身接收数据,对其进行处理并将其传递给下一个功能。
我的申请流程是
- 检查参数并将所需的函数存储在向量中
- 创建一个包含所有必要步骤的函数
- 调用执行文件管理并最终应用该函数的包装函数
小样:
现在我发现我不仅需要将数据传递给函数,还需要另一个数据集。
有没有办法做类似于我对 arity-1 函数所做的减少?一个简单的juxt
行不通,因为每个函数都会更改下一个函数需要的数据。返回一个'(root data)
或类似的序列将需要在许多函数中进行大量重写。
有任何想法吗?我想答案是“宏观”,但我从来没有摆弄过这些......
编辑1:
第二个参数是对不断增长的图形数据结构的引用,因此它不需要由函数处理,只需以某种方式传递即可。但是这些函数可能来自不同的命名空间,所以我不能简单地将根放在更高的范围内来访问它。一个全球性的def
将是可能的,但非常丑陋......
在写这篇文章时,我只是想我可能会以partial
某种方式将函数映射到comp
它们之前。
编辑2:
这filter identity
引起了很多混乱,这不是我的问题的一部分。首先,我不应该将它包含在我的示例中。我按照快速棕色狐狸的建议解决了任务,并为有时晦涩难懂而道歉。最小的类似解决方案的例子:
function - 如何在 Elixir 中为 Enum.map 传递一个 arity 2 的函数作为参数?
假设我有类似的东西:
但相反,我想将 String.duplicate/2 函数作为参数传递,以简化我的代码:
我知道你可以为 arity 1 函数做到这一点:
谢谢!
function - Clojure 中是否有标准的参数序列标识函数?
Clojure 标准库中是否有与以下等效的函数?
如果不是,为什么?
示例用法:
请注意,我并不是要一个变革性的、急切的功能,例如vector
or list
。
scala - 在scala中获取函数arity
有没有办法检索函数的arity?例如,给定以下函数:
我将如何获得 arity func
?