Scala magic允许将MyClass作为函数传递:
trait T
case class MyClass(x: String) extends T
def m(f: (String) => T): Unit = println("working")
m(MyClass)
答案 0 :(得分:1)
您没有传递案例类,而是传递了它的伴随对象,也称为MyClass
。 MyClass
(随播广告)是Function1[String, T]
,因为编译器会自动创建方法:
def apply(s: String): MyClass
您可以查看:
scala> MyClass.isInstanceOf[Function1[String, T]]
res53: Boolean = true