5

我可以理解如何使用隐式参数,但我怀疑 scala 播放操作的必要性......在播放文档中显示如下:

It is often useful to mark the request parameter as implicit so it can be implicitely used by other APIs that need it

现在...阅读另一个stackoverflow答案: Scala中匿名函数中的参数之前的隐式关键字

似乎在这里使用隐式参数只是一个“语法糖”

 Action { request =>
   Ok("Got request [" + request + "]",request)  //with implicit request I avoid pass the request parameter...
  }

我的问题是:

1) 隐式参数的范围只是我的 lambda 的范围吗?... 2) 我是否忽略了它?...

阅读另一个答案: 我什么时候应该在 Scala 中使用隐式参数创建方法?

在这种情况下似乎比使用隐式参数是“过度使用” 3)不使用隐式参数的代码会如何看,我避免使用什么样板?

我重写了这段代码https://stackoverflow.com/a/5015161/340451没有隐式参数和定义,并且代码更具可读性和清晰性(不那么隐式:D)......我知道隐式参数非常有用的有用案例(例如:akka api)但我不明白它的模式有多大用处以及为什么必须使用......

谢谢!

4

1 回答 1

2

1)是的,请求的范围在动作块内

2)对不起,不明白这个问题

一般来说,您应该谨慎使用隐式。我们认为在这种特定情况下使用隐式传递请求是合理的。

于 2013-07-23T06:56:58.000 回答