después de enterarme de que las clases de caso extienden el Producto, me pregunté por qué no extienden ProductN. Por ejemplo, dado un código como:¿Por qué las clases de casos solo se extienden Producto y no Producto1, Producto2, ..., ProductoN?
case class Foo(a: Int)
yo esperaría Foo(1).asInstanceOf[Product1[Int]]
para trabajar, pero no lo hace (comprobado con Scala 2.9.1, y confirmado por otras fuentes y por Product
documentación).
que estaba interesado en esto, porque quería declarar clases, tales como:
abstract class UnaryOp[T1 <: Exp[_], R](t1: T1) extends Exp[R] {
this: Product1[T1] =>
}
De esta manera, un nodo para una operación singular deben aplicar producto1. Sería bueno si ser simplemente una clase de caso con un parámetro sería suficiente para esto.
Estoy confundido acerca de la votación negativa aquí. ¿Podría explicar el infractor? – Blaisorblade