例の本を読んでScalaのを読むと、マーティンは、54ページの境界を入力について説明し、この例があります:例によるスカラ - コンテキスト境界の間違いによる特性型パラメータ?
trait Set[A <: Ordered[A]] {
def incl(x: A): Set[A]
def contains(x: A): Boolean
}
と
trait Set[A <% Ordered[A]] ...
はさらに55ページの彼はまた言いますが、その<:/型境界の可能性を示すために、特性セットに必要な唯一の変更は<%です。
しかし、自分のコードでこの例を繰り返すと、IDEは特性がビュー境界を持たず、タイプ境界のみを持つ可能性があると訴えています。 traitキーワードを抽象クラスに変更するか、型バインドにバインドされたビューを変更することができます。これは本の間違いですか?
"Scala by Example"を書いた後、仕様に変更がありました。 [このディスカッション](http://scala-programming-language.1934581.n4.nabble.com/scala-view-bound-in-trait-td1991172.html) –
を指摘してくれてありがとう!しかし、私は、実装の複雑さが言語に影響を与えるのは良くないと思います。なぜ形質に上限がないのかについての論理的説明はない。 – noncom
形質には上限があります。これらはコンストラクタパラメータであり、特性はコンストラクタパラメータを持つことができないため、コンテキストとビューの境界を持つことはできません。 –