1. suin

    Posted

    suin
Changes in title
+【教えて】traitとcase classのcopy
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,19 @@
+
+case class の `copy` メソッドで作られた新しいオブジェクトは、traitの `version` の値を引き継ぎませんが、Scala 2.10ではこれを引き継ぐようにできるのでしょうか?
+
+```scala
+trait Version {
+ var version = 1
+}
+
+case class Item(name : String) extends Version
+
+val foo = Item("Foo")
+foo.version = 2
+
+println(foo)
+println(foo.version) // 2
+
+val bar = foo.copy()
+println(bar.version) // 1 (ここが2になるようにしたい)
+```