gpt4 book ai didi

scala - Scala 匿名函数参数前的隐式关键字

转载 作者:行者123 更新时间:2023-12-03 01:38:39 24 4
gpt4 key购买 nike

我了解 Scala 中的隐式参数和隐式转换,但今天第一次看到这一点:匿名函数中参数前面的隐式关键字:

Action { implicit request =>
Ok("Got request [" + request + "]")
}

隐式关键字在这里起什么作用?

网络上是否有资源可以详细描述用例?

最佳答案

这里有两个明显的特征。

首先,request 并不是方法调用中真正的参数。这是匿名函数的参数。匿名函数本身是方法调用的参数。

其次,在匿名函数中声明隐式参数可以方便地使您免于“强制”将 val 转换为隐式:

Action { request =>
implicit val r = request
Ok("Got request [" + request + "]")
}

我碰巧知道这是一个 Play 框架代码,但我不确定 Action 和 Ok 的签名是什么。我猜他们是这样的:

def Action(r:Request => Result):Unit
case class Ok(str:msg)(implicit r:Request)

再次强调,这纯粹是猜测,仅供说明之用。

关于scala - Scala 匿名函数参数前的隐式关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12685591/

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