我有以下的情況下類:如何檢查類型元組在編譯時
case class MyClass[A,B](a:A, b:B)
我想添加一個功能類似解壓到MyClass
所以如果A
和B
是元組類型的話,我想提取他們像下面這樣:
val item = MyClass[(Int,String), (Int,String)]((2,"two"), (3,"three"))
val item_left = MyClass(item.a._1, item.b._1)
val item_right = MyClass(item.a._2, item.b._2)
我應該怎麼做,並在編譯時檢查元組的類型?我不想在伴侶對象中定義它,我希望它是MyClass
中的函數。我知道我可以定義一個implicit
函數,但它是唯一的方法嗎?
可能https://stackoverflow.com/questions/21442473/scala-generic-unzip-for-hlist#21444327 – Reactormonk
簽出類型約束:http://stackoverflow.com/questions/3427345/what-do-and-mean-in-scala-2-8-and-where-are-they-documented –