这个语法叫什么?它在 Scala 文档中的何处进行了解释?

What is this syntax called? And where is it explained in the Scala documentation?

通过 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 =>
      ...  
      )
    }
}

这只是一个带有两个参数的柯里化函数,从机械上讲,它是一个 returns 另一个函数的函数。示例:

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