【问题标题】:Currying Functions in ScalaScala 中的柯里化函数
【发布时间】:2019-07-19 14:02:21
【问题描述】:

我是 Scala 新手,刚开始学习它,现在正在尝试一些练习。尤其是这个,我很难理解。

我了解(f: (A, B) => C) 部分,但其余部分我不太明白。有人可以解释一下匿名函数部分之后发生了什么吗?

谢谢!

这是函数:

def curry[A, B, C](f: (A, B) => C): A => (B => C) = a => b => f(a, b)

【问题讨论】:

标签: scala currying


【解决方案1】:
  • def curry 一个名为“curry”的方法
  • [A, B, C] 将处理 3 种不同的类型
  • (f 它将收到一个我们将命名为“f”的参数
  • : (A, B) => C) 该参数是类型“接受 A,B 并返回 C 的函数”
  • : A => (B => C)“curry”返回类型“接受A并返回接受B并返回C的函数”
  • = 这是“咖喱”代码
  • a => b => f(a, b) 函数接受一个参数(我们将调用“a”)并返回一个函数,该函数接受一个参数(我们将调用“b”),该函数返回在“a”和“b”被传递给之后返回的值“f()”

【讨论】:

    猜你喜欢
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多