1
我想初始化一個案例類,或從值的向量初始化普通類。初始化案例類從Vector
示例代碼我現在看起來是這樣的:
class P(parameters : Vector[String]) {
val a: String = parameters(0)
val b: String = parameters(1)
val c: String = parameters(2)
}
我初始化這個與
P(Vector[String]("1", "2", "3"))
,但它會更好,如果我能做到有一個案例類:
case class P (a: String, b: String, c: String)
並且仍然能夠用給定的矢量初始化它 - 不是必須通過構造函數來初始化它。另外,我想支持Vector中元素數量少於要創建的對象的情況:
P(Vector[String]("1"))
我正在尋找這樣做的Scala方法。
這將是罰款只有3個參數,但我需要和他們一樣的20 :) –
好了,你爲什麼不解釋說,你的問題? – Jesper
@MarcinCylke在這種情況下,無恥可能有助於案例類:https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#generic-representation-of-sealed-families-of-您只需將案例類轉換爲HList即可。 –