currying 相关问题

Currying是将带/ n / arguments的函数转换为一系列/ n /函数的过程,每个函数都带一个参数。像Haskell这样的语言使用它作为默认参数应用程序机制,因为它使某些编程技术(如部分应用程序)更容易。

如何使var a = add(2)(3); // 5工作?

我想使这种语法成为可能:var a = add(2)(3); // 5基于我在http://dmitry.baranovskiy.com/post/31797647上读到的内容我不知道如何使它成为可能。

回答 20 投票 37

你怎么从重构中读出这个咖喱的功能..我的大脑疼

在我的工作中,我们使用重构,我们使用这种curry函数,这对我来说似乎过于复杂,让我的大脑受到伤害。谁能用英语解释这是如何工作的?谢谢 ...

回答 1 投票 2

Haskell - 投影函数的快速命名

假设我想根据一些其他预定义函数g定义函数f,如下所示:f :: Int - > Int - > Int f 2 b = gbf _ _ = 1也就是说,我想定义投影f( 2,_):...

回答 2 投票 -1

记住一个currified函数

const f =(arg1)=>(arg2)=> {/ *返回一些东西* /}是否可以记忆f关于2个参数,即:f(1)(2); F(1)(3); //缓存未命中f(4)(2); //缓存未命中f(1)(...

回答 2 投票 15

scala递归函数,返回另一个函数

我在scala中查看currying技术的示例,并且不了解函数在递归时如何返回另一个函数。例如,我理解这个代码def addOne(...

回答 3 投票 0

如何将Array.prototype方法作为参数传递给curried函数

我开始学习curried函数,并认为有一个函数允许我在类似的dom元素组(输入组或选择组......)中找到它会很有用。

回答 1 投票 1

是否有可能在Scala中“嘲笑”更高级的类型?

假设我有一个具有两个类型参数的特征,例如:特征Qux [A,B]和具有更高通道类型参数的另一个特征,例如特质Turkle [C [_]]我希望能够替代一个固定的......

回答 4 投票 21

我怎样才能拥有curried案例类构造函数?

我写了以下内容:case class SuperMessage(message:String)(capitalMessage:String = message.capitalize)val message =“hello world”val superMessage = SuperMessage(message)()但是我做不到...

回答 2 投票 4

如何在JavaScript中正确地理解函数?

我在JavaScript中编写了一个简单的curry函数,它适用于大多数情况:const add = curry((a,b,c)=> a + b + c); const add2 = add(2); const add5 = add2(3);的console.log(...

回答 4 投票 9

Javascript currying功能

我的javascript编程课程中的一个作业有问题。赋值:创建一个名为“calculate”的函数,它需要三个函数作为参数,并在调用时...

回答 4 投票 0

Js因病情而哭泣

我试图长时间理解这段代码我知道currying函数但是与这段代码相混淆请解释var currying = function(fn){var args = []; return function(){...

回答 1 投票 0

在react类组件中,使用没有参数的curried函数的目的是什么?

在材料ui react组件演示中看到了这个设置,并想知道这个curried函数的用途是什么:toggleDrawer =(side,open)=>()=> {this.setState({[side]:open,...

回答 3 投票 0

如何在Haskell中定义Lisp的应用?

不应该像Haskell这样的惰性语言允许这个定义,其中函数是curry? apply f [] = f apply f(x:xs)= apply(f x)xs它基本上是一个应用给定的函数...

回答 8 投票 37

使用附加参数将动作传递函数反映到动态创建的子项

我想动态创建子组件,从React中的父/祖父组件接收onClick事件。在创建过程中,我想为onClick事件添加一个参数。 ...

回答 1 投票 0

在TypeScript中声明curried函数

给定curried函数的接口,带有一个参数接口CurriedFunction1 {():CurriedFunction1 (t1:T1):R}我如何声明那个的泛型函数......

回答 1 投票 0

库里数据受到严重破坏

我使用咖喱3来提取两个数据集,而在第二个使用相同中间函数的情况下,数据被破坏,我无法确定原因。所以使用两种中间体......

回答 1 投票 0

使用n个参数在javascript中进行函数的currying

如果f ::(a,b) - > c,我们可以定义curry(f)如下:curry(f)::((a,b) - > c) - > a - > b - > c const curry = f => a => b => f(a,b); const sum = curry((num1,num2)=> num1 + num2); ...

回答 5 投票 0

在讨论为什么外部,启动功能似乎是最内在的功能?

在简单的2层currying示例中,单词dog被传递到y参数中。 “严格使用”; function layer2(x){return function(y){return console.log(x,y); ...

回答 2 投票 0

“Uncurrying”.NET中的实例方法

您是否可以创建实例方法的委托而无需在创建时指定实例?换句话说,你可以创建一个“静态”委托,它将实例的第一个参数作为...

回答 4 投票 5

如何理解Swift中的currying?

我是Swift的新手,当我看书时,我发现Swift中的currying很复杂,我按照这本书编写代码,例如:func curry(f: (A, B) -> C) -> A -> B -...

回答 1 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.