【发布时间】:2013-07-20 05:30:16
【问题描述】:
我正在关注 Twitter Scala 学校教程,但遇到了一个问题。在隐式视图部分中,在高级类型here 下,它指出方法可以要求类型的特定类型的证据。
它列出了其中的 3 种证据 -
A =:= B A must be equal to B
A <:< B A must be a subtype of B
A <%< B A must be viewable as B
但是,我写的代码在尝试第三种时出现语法错误。
这是我的代码
class ContainerTwo[A](value : A) {
// A must be a subtype of Int
def addIt(implicit evidence : A <:< Int) = 123 + value
// A must be a viewable as a String
def printIt(implicit evidence : A <%< String) = println(evidence) // This line reports an error at <%< - "Cannot resolve symbol <%<"
// A must be a subtype of a String
def doSomethingWithAString(implicit evidence : A <:< String) = println(evidence)
}
我使用的是 Scala 2.10。我不确定我是否做错了什么,教程有误,或者自编写教程以来 Scala 是否发生了变化。
【问题讨论】:
-
请始终包含实际错误,不要简单地将其描述为“报告语法错误”。