Как Option действует как коллекция, если она не одна? - PullRequest
1 голос
/ 06 марта 2012

Принятый ответ на « Как преобразовать Some (« ») в None в одну строку? » принял форму:

def convert(x: Option[String]) : Option[String] = 
    x.map(_.trim()).filterNot(_.isEmpty())

Моя проблема в том, что я не могу понять, как найти, каким образом коллекция, возвращаемая filterNot, преобразуется в Option. Я посмотрел на Scaladoc для конструкторов Option, Option Object, Predef, Seq и Seq Object. Я полагаю, что где-то есть неявное, но как найти его?

1 Ответ

2 голосов
/ 06 марта 2012

В scaladoc вы можете нажать кнопку заказа «по наследству» (она появляется чуть выше описания методов).Это должно помочь вам найти конкретную реализацию данного метода.Перейдите к этому классу и посмотрите на источник (ссылки на источник указаны в описании класса / свойства / объекта).

В случае с опциями существуют методы с именем map, filter и т. Д.

Когда требуется неявное значение, вы заметите либо условие implicit в списке аргументов, либо контекст, связанный как [A: MyImplicit] в параметрах.Неявные обычно импортируются или объявляются в сопутствующем объекте.

Если у вас есть более подробный вопрос / пример спецификации, пожалуйста, дайте мне знать.

...