【发布时间】:2010-12-10 15:39:17
【问题描述】:
是否可以重构以下内容?
case class Foo(
a: List[String]) {
def +(s: String) = copy(a = s :: a)
}
case class Bar(
a: List[String],
b: Int) {
def +(s: String) = copy(a = s :: a)
}
【问题讨论】:
-
以什么方式?似乎是什么问题?
-
@Daniel Duplicated
def +(s: String) = copy(a = s :: a),我想 -
重复代码。本身不是问题。
-
看似重复的代码。这些方法是不同的(它们可能有不同的名称),即使它们的类型签名相同,它们仍然不会共享一个公共接口。
-
如果 Scala 支持更通用的结构类型一致性形式,这将是可能的:stackoverflow.com/questions/3471708/…
标签: scala