對於參數數量爲(21 !!)的斯卡拉案例類別具有動態命名參數的Scala案例類副本
例如, case class Car(type: String, brand: String, door: Int ....)
其中type =吉普車,品牌=豐田,門= 4 ....等
而且還有一個複製方法,其允許超馳與命名參數:Car.copy(brand = Kia)
其中將成爲類型=吉普車,品牌=起亞,門= 2 ...等
我的問題是,有無論如何我可以提供指定的參數動態?
def copyCar(key: String, name: String) = {
Car.copy("key" = "name") // this is something I make up and want to see if would work
}
scala反射庫可以提供幫助嗎?
我使用複製方法的原因是,我不想每次創建僅有1或2個參數更改的案例類時重複21個參數分配。
非常感謝!
我不明白爲什麼'copy'命令不能完全滿足你的需求。爲什麼要動態提供參數? –
@RexKerr我可以看到它:他得到(name,value)對的映射,然後想用它調用'Car.copy()'。你的方式將全部硬編碼到特定參數。 – javadba