这个语法叫什么?Scala文档中对它的解释在哪里?

这个语法叫什么?Scala文档中对它的解释在哪里?,scala,higher-order-functions,Scala,Higher Order Functions,通过一次喷雾,我遇到了这样的情况: entity(as[Quiz]) { quiz => requestContext => val responder = createResponder(requestContext) createQuiz(quiz) match { case true => responder ! QuizCreated case _ => responder ! QuizAlready

通过一次喷雾,我遇到了这样的情况:

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 =>
      ...  
      )
    }
}
这只是一个带有两个参数的curried函数,机械地说,它是一个返回另一个函数的函数。例如:

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

你能把文档链接起来吗?我已经准备好接受这一正确答案了。我真的不确定是否用这种语法对其进行了准确的解释,但如果您阅读了关于普通(非匿名)curried函数的内容,然后将lambda语法应用于这一原则,这应该是显而易见的:另一种确保这一点的方法是从第一个链接编写一个curried命名函数:
defmodn(n:Int)(m:Int)=((x%n)==0)
在REPL中,然后打印其类型:
:t modN
。这将导致
Int=>(Int=>Boolean)