【发布时间】:2015-03-03 08:19:49
【问题描述】:
我还是 Scala 的新手。 我在 Spray 框架中找到了这段代码。
我正在尝试理解方法签名的含义:
/**
* Completes the request using the given arguments.
*/
def complete: (⇒ ToResponseMarshallable) ⇒ StandardRoute = marshallable ⇒ new StandardRoute {
def apply(ctx: RequestContext): Unit = ctx.complete(marshallable)
}
=> 运算符在这里做什么?我以为它是用来创建闭包的?
在这里完成的编组任务是什么?为什么要在括号外做?
很高兴看到这段代码的 java 版本。
【问题讨论】:
-
没有。正如我所提到的,我明白 => 意味着创建一个闭包。但我不明白这里的签名上下文
-
这也意味着其他的东西,如该问题的第二个答案中所述。
-
(虽然一般情况可能在该问题中已充分涵盖,但我认为这实际上很难解析。我会尝试回答。)