2016-12-04 22 views
1

В чем смысл <% в Scala?Значение <% в Scala и использование в абстрактном классе определения

Контекст, в котором я его вижу, представляет собой декларацию абстрактного класса, которую я пытаюсь расширить. Это важная часть класса:

abstract class Index[Res <% Result[Res]] { 
    def results (term: String) : List[Res] ... 

Это заголовок результата признака:

trait Result[T] extends Any { 

я смог успешно создать класс, расширяющий результат. Для упрощения здесь, я буду использовать этот заголовок:

class Sample extends Result[Int] { 

Я хочу, чтобы результаты в моем классе (расширение индекса) для возврата списка типа [Sample]. Я попробовал несколько различных определений, но я всегда получаю подобную ошибку:

No implicit view available from [type] to Result[type] 

где типа любого типа I используется для увеличения индекса, то есть:

class SampleIndex extends Index[Sample] 

Я думаю, что моя проблема исходит от моего непонимания от <% в определении абстрактного класса. Любая идея, как это исправить?

+0

'<%' - [* view bound *] (http://www.scala-lang.org/old/node/130). – Andreas

+0

http://stackoverflow.com/questions/4465948/what-are-scala-context-and-view-bounds – Yankee

ответ