相关疑难解决方法(0)

什么是Scala标识符"隐式"?

我见过一个implicitly在Scala示例中使用的函数.它是什么,它是如何使用的?

这里的例子:

scala> sealed trait Foo[T] { def apply(list : List[T]) : Unit }; object Foo {
     |                         implicit def stringImpl = new Foo[String] {
     |                             def apply(list : List[String]) = println("String")
     |                         }
     |                         implicit def intImpl = new Foo[Int] {
     |                             def apply(list : List[Int]) =  println("Int")
     |                         }
     |                     } ; def foo[A : Foo](x : List[A]) = implicitly[Foo[A]].apply(x)
defined trait Foo
defined module Foo
foo: [A](x: List[A])(implicit evidence$1: Foo[A])Unit

scala> foo(1)
<console>:8: error: …
Run Code Online (Sandbox Code Playgroud)

scala implicits

161
推荐指数
2
解决办法
6万
查看次数

标签 统计

implicits ×1

scala ×1