Ce que je veux faire, c'est : obtenir typeOf[Int] de tpe. Il devrait se généraliser à tout type autre que Int.

val tpe = typeOf[List[Int]]
val ??? = typeOf[Int]

Je vous remercie.

-2
Yik San Chan 22 sept. 2018 à 07:46

1 réponse

Meilleure réponse

Essayer

import scala.reflect.runtime.universe._
val tpe = typeOf[List[Int]]
tpe.typeArgs.head == typeOf[Int] // true

Ou

import scala.reflect.runtime.universe._
type T = List[Int]
val tpe = typeOf[T]
tpe.dealias.typeArgs.head == typeOf[Int] // true
0
Dmytro Mitin 22 sept. 2018 à 10:37