Vu l'extrait Scala suivant:Est-ce que `productElement (i)` sur une classe de cas utilise la réflexion?
case class Foo(v1: String, v2: Int, v3: Any)
def inspect(p: Product) =
(0 until p.productArity).foreach(i => println(p.productElement(i)))
inspect(Foo("Moin", 77, null))
Est-ce que l'invocation de inspect()
signifie ici que la réflexion est utilisé (de quelque manière)? J'aimerais pouvoir accéder d'une manière ou d'une autre aux champs d'une classe de cas sans devoir y faire explicitement référence, par ex. par foo.v1
et je serais favorable à une solution qui ne nécessite pas de réflexion puisque je m'attends à ce que cela entraîne des frais généraux.
de Grande réponse! De plus, l'option '-print' semble assez utile et je ne l'ai pas encore connue. Merci Steve! –