【发布时间】:2016-03-14 19:28:31
【问题描述】:
我在处理代数结构,我发现 Numeric 类型类非常好用,表示数值。
所以我可以这样写我的幺半群实例:
implicit def add[A: Numeric] = new Monoid[A] {
def mempty = implicitly[Numeric[A]].zero
def mappend(a0: A, a1: A) = implicitly[Numeric[A]].plus(a0, a1)
}
这看起来像个花花公子。但是我可以用序列做什么?我找不到执行标准 Scala 集合序列的类型类。我想写这样的东西:
def concat[A : SeqTC] = new Monoid[A] {
def mempty = implicitly[SeqTC[A]].empty
def mappend(a0: A, a1: A) = implicitly[SeqTC[A]].++(a0, a1)
}
【问题讨论】:
-
看看 CanBuild 和 CanBuildFrom
标签: scala