gpt4 book ai didi

Scala 参数类型说明

转载 作者:行者123 更新时间:2023-12-04 23:25:54 26 4
gpt4 key购买 nike

我对 Scala 和 Play Framework 很陌生,以前从未见过以下参数类型。

def IsAuthenticated(f: => String => Request[AnyContent] => Result)  

令我困惑的是 f: =>部分。如果那 =>如果没有,我会认为它是一个映射 String 的函数。到 Request然后到 Result .

最佳答案

一般来说,=> A是 A 类型的按名称参数。这意味着该参数仅在函数体中使用时(以及每次)才会被评估。因此,f是一个按名称参数,其类型是一个接受 String 的函数并从 Request[AnyContent] 返回一个函数到 Result .以下是如何评估按名称参数的示例:

scala> def twice[A](a: =>A) = (a,a)
twice: [A](a: => A)(A, A)

scala> var i = 0
i: Int = 0

scala> twice {
| i += 1
| i
| }
res0: (Int, Int) = (1,2)

关于Scala 参数类型说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996486/

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