我有一個容器類如何將(不同的)泛型傳遞給varags?
object OptimisationVariable {
implicit class OptimisationVariableSeq[B](seq: Seq[OptimisationVariable[B]]) {
def extract[A: ClassTag](variable: (OptimisationVariable[B] => A)): DenseVector[A] =
DenseVector(seq.map(variable).toArray)
}
}
final case class OptimisationVariable[B: ClassTag](startposition: B,
startlearningrate: Double)
,我想傳遞給我的算法:
,但我得到OptimisationVariable需要一個類型參數的誤差。這就說得通了。但是我想通過能夠傳遞不同類型的參數。由於optimisationVariable
將是一個Seq
,我不知道我應該如何去做這件事。 B
將會是Int
或Double
。例如。
new MyAlgorithm(OptimisationVariable(1, 2.0), OptimisationVariable(3.0, 4.0))
後來我想決定做什麼,這取決於它的一個Int
或Double
。
不可能的可變參數。你可以看看無形 – cchantep
@cchantep:我認爲這可能是有可能的視圖邊界或類似的東西(雖然它們似乎被棄用)。 – Make42
@cchantep:你知道如何在這種情況下做成形嗎? – Make42