7
了解Scala中的隐式
我正在通过Scala Playframework教程学习,遇到了这个让我感到困惑的代码片段: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label) Redirect(routes.Application.tasks()) } ) } 因此,我决定进行调查,并发现了这篇文章。 我还是不明白。 这有什么区别: implicit def double2Int(d : Double) : Int = d.toInt 和 def double2IntNonImplicit(d : Double) : Int = d.toInt 除了显而易见的事实,它们具有不同的方法名称。 我implicit什么时候应该使用,为什么?