當我得知案例類擴展Product後,我想知道他們爲什麼不擴展ProductN。例如,給予相同的代碼:爲什麼案例類僅擴展Product而不擴展Product1,Product2,...,ProductN?
case class Foo(a: Int)
我期望Foo(1).asInstanceOf[Product1[Int]]
工作,但它不會(與斯卡拉2.9.1檢查,並通過其他渠道和Product
文件確認)。
我感興趣的是這個,因爲我想聲明的類,如:
abstract class UnaryOp[T1 <: Exp[_], R](t1: T1) extends Exp[R] {
this: Product1[T1] =>
}
這種方式,對於一個一元操作,必須實現產品1的節點。如果僅僅是一個具有一個參數的案例類就足夠了,那將會很好。
我對這裏的downvote感到困惑。 downvoter可以解釋嗎? – Blaisorblade