2
Предоставлено class Foo[F[_]]
, как я могу получить объект Class
? Обычный синтаксис не работает:classOf [] для более высокого типа
scala> classOf[Foo[_]]
<console>:9: error: _$1 takes no type parameters, expected: one
classOf[Foo[_]]
^
Ни делает
scala> classOf[Foo[_[_]]]
<console>:9: error: _$1 does not take type parameters
classOf[Foo[_[_]]]
^
Это хороший пример того, как вы можете попасть в беду, потому что Scala использует тот же синтаксис 'F [_]' иногда означать более-kinded типа, иногда экзистенциальный тип. –