我是 scala 的新手,我正在尝试实现一个append
附加两个数字或字符串的方法方法“”。
对这段代码进行实践的想法来自这篇append
文章,我在其中提到了一个Appendable
用于创建implicits
.
我尝试使用视图绑定和上下文绑定概念在我的 IntelliJ 中复制相同的代码,但不知何故它不起作用。
任何人都可以建议以下代码中缺少的内容吗?为什么它失败了?我也尝试在这里复制相同的内容。
trait Appendable[A]{
def append(a: A, b : A) : A
}
object Appendable {
implicit val appendableString = new Appendable[String] {
override def append(a: String, b : String): String = a + b
}
implicit val appendableInt = new Appendable[Int] {
override def append(a: Int, b : Int): Int = a + b
}
}
object ItemAppenderTester extends Object {
def appendItem[A <% Appendable[A]]( a : A, b : A) = a append b
def appendItem2[A : Appendable[A]]( a : A, b : A) = implicitly[Appendable[A]].append(a,b)
def appendItem3(a : A, b : A) (implicit ev : Appendable[A]) = ev.append(a,b)
appendItem(1,2)
}