私は Scala にかなり慣れていないので、特性から得られるデータを保持しながらケース クラスをコピーする最良の方法について質問があります。たとえば、次のものがあるとします。
trait Auditing {
var createTime: Timestamp = new Timestamp(System.currentTimeMillis)
}
case class User(val userName: String, val email: String) extends Auditing
val user = User("Joe", "joe@blah.com")
次に、1 つのパラメーターを変更して新しいコピーを作成します。
val user2 = user.copy(email = "joe@newemail.com")
上記の例では、プロパティ createTime は User ケース クラスのコンストラクタで定義されていないため、コピーされません。だから私の質問は: createTime をコンストラクターに移動することはオプションではないと仮定すると、特性からの値を含む User オブジェクトのコピーを取得するための最良の方法は何ですか?
私はScala 2.9.1を使用しています
前もって感謝します!ジョー