相关疑难解决方法(0)

currying的实际优势是什么?

我看到很多关于currying技术的文档和问题,但是我发现很少有关于为什么会在实践中使用它的信息.我的问题是,currying有什么好处?也许你可以提供一个简单的例子,其中currying比传统的方法调用更可取.

太阳升起的时候我用C++工作,所以到目前为止,除了工作以外的语言修补外,我几乎没有接触过curry.

functional-programming currying

20
推荐指数
1
解决办法
5338
查看次数

为什么Little Schemer中的所有lambdas?

在从SICP学习了一点Scheme之后,我开始阅读The Little Schemer(我发现它非常有趣)并且大约完成了四分之一.我注意到我可以在不使用lambda的情况下编写许多(大多数?全部?)解决方案,而Little Schemer 总是使用它们.例如,第一个定义是

(define atom?
  (lambda (x)
    (and (not (pair? x)) (not (null? x)))))
Run Code Online (Sandbox Code Playgroud)

除非我弄错了,否则可以更简单地写成

(define (atom? x) 
   (and (not (pair? x)) (not (null? x))))
Run Code Online (Sandbox Code Playgroud)

如果我写无lambda的解决方案,我会遗漏一些基本的东西吗?

lambda scheme the-little-schemer

18
推荐指数
3
解决办法
2939
查看次数

函数式编程中的curring有什么价值?

我知道curry的概念和用法,但我想知道它在实践中的价值是什么?

functional-programming currying

5
推荐指数
1
解决办法
619
查看次数

Currying只是"可选参数"?

我在网上看到一个人的声明说"currying只是一个有选择参数的奇特方式".通过直觉,我觉得这个陈述是浅薄和错误的,但我不能真正指责它,可能是因为我对lambda演算没有足够的知识.

当我试图解释差异时,我的解释跨越段落,主要归结为"Currying具有函数声明的所有变体,参数数量较少作为类型.但是你不能将函数与可选参数的所有组合作为有效类型和在其他声明中使用它们,至少不会自动".

我的方法一开始是否正确,更重要的是有一种更简单,更简洁的解释方法吗?

lambda functional-programming currying

2
推荐指数
1
解决办法
352
查看次数