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
Questions connexes
De nouvelles questions
scala
Scala est un langage de programmation à usage général ciblant principalement la machine virtuelle Java. Conçu pour exprimer des schémas de programmation communs de manière concise, élégante et sécurisée, il fusionne les styles de programmation impératifs et fonctionnels. Ses principales caractéristiques sont les suivantes: un système de type statique avancé avec inférence de type; types de fonctions; correspondance de motifs; paramètres et conversions implicites; surcharge de l'opérateur; interopérabilité totale avec Java; simultanéité