gpt4 book ai didi

scala - 这种语法叫什么? Scala 文档在哪里解释了它?

转载 作者:行者123 更新时间:2023-12-05 00:20:13 25 4
gpt4 key购买 nike

通过 tutorial在Spray上,我遇到了这个:

entity(as[Quiz]) { quiz => requestContext =>
val responder = createResponder(requestContext)
createQuiz(quiz) match {
case true => responder ! QuizCreated
case _ => responder ! QuizAlreadyExists
}
}

这条特定的线是困惑所在:
entity(as[Quiz]) { quiz => requestContext =>

世界上有什么第二 =>符号???
这个语法是什么意思,我在哪里可以找到进一步阅读的文档?

最佳答案

如果我这样放括号,是否更有意义?

entity(as[Quiz]) { quiz => (requestContext =>
...
)
}
}

这只是一个带有两个参数的柯里化(Currying)函数,从机械上讲,它是一个返回另一个函数的函数。例子:
val test: Int => Int => Int = a => b => a + b // the same as a => (b => a + b)
println(test(2)(3)) //5

您可以将其视为 (a, b) => a + b ,但具有额外的好处,因此您可以更轻松地部分应用它:
val t: Int => Int = test(2)
println(t(3)) // 5

关于scala - 这种语法叫什么? Scala 文档在哪里解释了它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com