问题标签 [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.
function - Lisp/Scheme/Racket:如何用省略号定义函数
我想在 Racket 中定义一个带有未定义参数数量的函数,所以我使用省略号,但它不起作用:
错误:
如何用省略号在 Racket 中定义函数?
clojure - 使用 Liberator 的 Clojure 资源分配参数 arity 错误
我正在编写一个 clojure 函数,当我使用defn
它来定义它时它可以正常工作,但是当我使用defresource
. 我怀疑这与:as-response
我正在使用的密钥有关,但我不知道如何修复它。有任何想法吗?我的代码:
使用 defresource 时出错:“传递给...的 args (2) 数量错误”我正在传递 0 个参数,使用 defn 可以正常工作。
scala - 在 scala shapeless 库中,是否可以在 arity > 22 时编写通用的 arity 函数(大概使用无形宏之一)?
以下代码是 shapeless 用例之一的典型演示:
这给出了正确的结果,不幸的是,它依赖于 scala 的元组语法 suger,并且在参数数量 > 22 时不起作用:
我想知道是否有一个宏或其他 scala 功能可以用来打破这个限制,有什么建议吗?
我使用的是 scala 2.12.8,但可以随时升级到 2.13。
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
?
java - 为什么不使用自定义构造函数推断变量记录组件?
尝试一些带有record
和记录组件的代码。我正在使用可变稀有组件,并在自定义构造函数上遇到编译时错误。
我很想了解的是,在没有为初始化提供任何组件的情况下,当通过另一个自定义构造函数调用类似的构造函数时,如何推断出类似的构造函数。
list - 使用 Prolog 生成 Lucas/fibonacci 序列列表
我只是在摆弄序言,我遇到了一个我不知道如何解决的问题。我想创建一个返回给定数字 In的Lucas 序列的过程。我已经得到了返回实际数字的代码,但它就是这样做的,返回数字 In 的 Lucas 值。我想要的是返回一个包含所有卢卡斯序列号的列表。我一直在尝试这样做,但我只是不知道如何实现这一点。下面是我的尝试。任何帮助,将不胜感激!!!
syntax - Erlang中基于arity的指定方法
我有一个Erlang
模块,它导出两个名称相同但数量不同的方法:proc/1
和proc/2
.
使用 形式的方法时MFA
,如何指定/2
应该使用 或/1
?参见例如:
clojure - 为什么映射转换器的结果包含大于 2 的元数?
问题在标题中。下面我复制源的传感器部分map
:
这是指向其源代码的clojure.core
链接,其中包含 的定义map
。
tree - 试图在 Racket n-ary 中写 Foldtree 只知道如何写二叉树
我正在尝试为 DrRacket 中的树编写折叠命令,只知道如何编写二叉树。有什么建议吗?它应该采用f
诸如+,-等的功能。并折叠所有给定的数据,但不是通过展平树。
到目前为止,这是我想出的:
提前致谢!