Considerando il seguente frammento di codice Scala:`productElement (i)` su una classe di case usa la riflessione?
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))
Fa l'invocazione di inspect()
qui significa che la riflessione è utilizzato (in qualsiasi modo)?
Mi piacerebbe in qualche modo poter accedere ai campi di una case-class senza doverli fare esplicitamente riferimento, ad es. da foo.v1
e preferirei una soluzione che non richiede riflessione poiché mi aspetto che comporti un sovraccarico.
Grande risposta! Inoltre, l'opzione '-print' sembra molto utile e fino ad ora non ne sapevo nulla. Grazie Steve! –