问题标签 [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 投票
1 回答
142 浏览

function - Lisp/Scheme/Racket:如何用省略号定义函数

我想在 Racket 中定义一个带有未定义参数数量的函数,所以我使用省略号,但它不起作用:

错误:

如何用省略号在 Racket 中定义函数?

0 投票
1 回答
81 浏览

clojure - 使用 Liberator 的 Clojure 资源分配参数 arity 错误

我正在编写一个 clojure 函数,当我使用defn它来定义它时它可以正常工作,但是当我使用defresource. 我怀疑这与:as-response我正在使用的密钥有关,但我不知道如何修复它。有任何想法吗?我的代码:

使用 defresource 时出错:“传递给...的 args (2) 数量错误”我正在传递 0 个参数,使用 defn 可以正常工作。

0 投票
1 回答
179 浏览

scala - 在 scala shapeless 库中,是否可以在 arity > 22 时编写通用的 arity 函数(大概使用无形宏之一)?

以下代码是 shapeless 用例之一的典型演示:

这给出了正确的结果,不幸的是,它依赖于 scala 的元组语法 suger,并且在参数数量 > 22 时不起作用:

我想知道是否有一个宏或其他 scala 功能可以用来打破这个限制,有什么建议吗?

我使用的是 scala 2.12.8,但可以随时升级到 2.13。

0 投票
2 回答
85 浏览

scala - 为什么 circe `or` 函数(一个明显的一元函数)与需要二进制操作的 reduceLeft 一起工作?

A 和我正在使用 circe 对一些 ADT 进行编码/解码,我们遇到了一些我们根本不了解的功能。circe 文档中给出的示例按预期工作,但在深入研究后 - 不清楚为什么解码示例有效,因此我们很难推理如何在需要时进行修改。

功能(来自关于 ADTs 的 Circe 示例):

我明白了 - 基本上是从这个列表中选择第一个工作的解码器 - 有道理但是(!)

or似乎是一个采用名称参数的一元函数。类型签名是:

final def or[AA >: A](d: => Decoder[AA]): Decoder[AA]

并且reduceLeft(来自 IterableOnce)需要一个二元函数。类型签名是: def reduceLeft[B >: A](op: (B, A) => B): B

然后我的大脑爆炸了。我显然错过了一些东西,无法弄清楚。

该示例最明确地适用于转换 ADT。or鉴于该功能似乎不符合所需的类型,为什么/如何工作reduceLeft

0 投票
2 回答
81 浏览

perl - 如何在不调用 perl 函数的情况下测试签名违规?

假设我有,

现在,如果我在没有正确的情况下调用它arity,我会得到一个错误。

但是,我该如何测试。假设我想确保有人实现了一个package Bar这样的函数,它的函数foo需要一个参数。有没有办法在不运行该代码的情况下做到这一点。


我认为这个问题与我的其他问题不同,因为即使我无法通过某种 Perl API 读取签名,也可能有一种方法可以测试子例程是否使用特定签名声明?这个问题的答案可以用来回答这个问题。但是这个问题的答案可能无法回答那个问题。

0 投票
1 回答
333 浏览

java - 为什么不使用自定义构造函数推断变量记录组件?

尝试一些带有record和记录组件的代码。我正在使用可变稀有组件,并在自定义构造函数上遇到编译时错误。

我很想了解的是,在没有为初始化提供任何组件的情况下,当通过另一个自定义构造函数调用类似的构造函数时,如何推断出类似的构造函数。

0 投票
1 回答
257 浏览

list - 使用 Prolog 生成 Lucas/fibonacci 序列列表

我只是在摆弄序言,我遇到了一个我不知道如何解决的问题。我想创建一个返回给定数字 In的Lucas 序列的过程。我已经得到了返回实际数字的代码,但它就是这样做的,返回数字 In 的 Lucas 值。我想要的是返回一个包含所有卢卡斯序列号的列表。我一直在尝试这样做,但我只是不知道如何实现这一点。下面是我的尝试。任何帮助,将不胜感激!!!

0 投票
1 回答
39 浏览

syntax - Erlang中基于arity的指定方法

我有一个Erlang模块,它导出两个名称相同但数量不同的方法:proc/1proc/2.

使用 形式的方法时MFA,如何指定/2应该使用 或/1?参见例如:

0 投票
1 回答
58 浏览

clojure - 为什么映射转换器的结果包含大于 2 的元数?

问题在标题中。下面我复制源的传感器部分map

这是指向其源代码的clojure.core链接,其中包含 的定义map

0 投票
1 回答
169 浏览

tree - 试图在 Racket n-ary 中写 Foldtree 只知道如何写二叉树

我正在尝试为 DrRacket 中的树编写折叠命令,只知道如何编写二叉树。有什么建议吗?它应该采用f诸如+,-等的功能。并折叠所有给定的数据,但不是通过展平树。

到目前为止,这是我想出的:

提前致谢!