Twitter の Scala スクール チュートリアルに従っているところ、問題が発生しました。暗黙的なビューのセクションで、ここの高度な型の下で、メソッドが型の特定の種類の証拠を要求できると述べています。
これらの種類の証拠のうち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
しかし、私が書いたコードは、3 番目の種類を試すと構文エラーになります。
これは私のコードです
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 が変更されたのかはわかりません。