1
是否有一種以通用方式轉換類型的方法?目前,我有這樣的事情:一般在Scala中轉換類型
class Super {
type MessagesType = Product
type AggregatorType = Product
}
class Sub1 {
override type MessagesType = (Class1, Class2)
override type AggregatorType = (Option[Class1], Option[Class2])
}
class Sub2 {
override type MessagesType = (Class1, Class2, Class3)
override type AggregatorType = (Option[Class1], Option[Class2], Option[Class3])
}
的AggregatorType
將始終包含在MessagesType
Option
s各自的類型的。我一直在尋找僅在Sub
中聲明MessagesType
並自動生成相應的AggregatorType
的方法。雖然我目前使用Tuple
s,但我可以將其更改爲HList
s,case classes或其他。但是,我確實有使用Shapeless 1.2.4的限制(由於一些傳遞依賴性)。
任何想法?
這看起來很有趣......但有一個額外的問題。由於一些傳遞依賴性,我必須使用Shapeless 1.2.4,而不是無形2.x :( –
我認爲應該可以將其轉換爲1.2.4(它具有'.tupled','.hlisted'和'Mapped '它在1.2.3中加入)。 –