Spec-Zone.ru › Scala 2.12 Library

Трейт scala.collection.generic.IsSeqLike

Компаньон объект IsSeqLike

трайт IsSeqLike[Repr] extends AnyRef

Тип-класс, свидетельствующий, что тип представления коллекции Repr содержит элементы типа A и имеет преобразование в SeqLike[A, Repr].

Этот тип позволяет просто обогатить Seq расширяющими методами, которые могут в полной мере использовать механизмы фреймворка Scala collections в своей реализации.

Пример использования:

class FilterMapImpl[A, Repr](val r: SeqLike[A, Repr]) {
  final def filterMap[B, That](f: A => Option[B])(implicit cbf: CanBuildFrom[Repr, B, That]): That =
    r.flatMap(f(_))
}
implicit def filterMap[Repr, A](r: Repr)(implicit fr: IsSeqLike[Repr]): FilterMapImpl[fr.A,Repr] =
  new FilterMapImpl(fr.conversion(r))

val l = List(1, 2, 3, 4, 5)
List(1, 2, 3, 4, 5) filterMap (i => if(i % 2 == 0) Some(i) else None)
// == List(2, 4)
Источник
IsSeqLike.scala
См. также

scala.collection.Seq

scala.collection.generic.IsTraversableLike

Линейные супертипы

Типовые члены

абстрактный тип A

Абстрактные члены-значения

абстрактный val conversion: (Repr) ⇒ SeqLike[A, Repr]

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых значений возвращает значение хэша, которое соответствует равенству значений: если две инстанции типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждой из них. Для null возвращает хэш-код, в котором null.hashCode генерирует NullPointerException.

возвращает

значение хэша, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавляется неявным преобразованием из IsSeqLike[Repr] в any2stringadd[IsSeqLike[Repr]], выполненное методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ->[B](y: B): (IsSeqLike[Repr], B)

Неявный
Этот член добавляется неявным преобразованием из IsSeqLike[Repr] в ArrowAssoc[IsSeqLike[Repr]], выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

Привести объект-получатель к типу T0.

Обратите внимание, что успех приведения в ходе выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит ClassCastException в ходе выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, нельзя проверить, соответствуют ли элементы списка нужному типу.

возвращает

объект-получатель.

Definition Classes
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создать копию объекта-получателя.

Значение по умолчанию метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Definition Classes
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не указано в SLS как член AnyRef

def ensuring(cond: (IsSeqLike[Repr]) ⇒ Boolean, msg: ⇒ Any): IsSeqLike[Repr]

Неявный
Этот член добавляется неявным преобразованием из IsSeqLike[Repr] в Ensuring[IsSeqLike[Repr]], выполненное методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (IsSeqLike[Repr]) ⇒ Boolean): IsSeqLike[Repr]

Неявный
Этот член добавляется неявным преобразованием из IsSeqLike[Repr] в Ensuring[IsSeqLike[Repr]], выполненное методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): IsSeqLike[Repr]

Неявный
Этот член добавлен неявным преобразованием из IsSeqLike[Repr] в Ensuring[IsSeqLike[Repr]] с помощью метода Ensuring в scala.Predef.
Определения классов
Ensuring

def ensuring(cond: Boolean): IsSeqLike[Repr]

Неявный
Этот член добавлен неявным преобразованием из IsSeqLike[Repr] в Ensuring[IsSeqLike[Repr]] с помощью метода Ensuring в scala.Predef.
Определения классов
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение соответствует равенству по ссылке. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хеша (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определения классов
AnyRef

def equals(arg0: Any): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует вызов eq.

Смотрите также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определения классов
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[lang]
Определения классов
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не определен SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Формат строк соответствует String.format (@см java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из IsSeqLike[Repr] в StringFormat[IsSeqLike[Repr]] с помощью метода StringFormat в scala.Predef.
Определения классов
StringFormat
Аннотации
@inline()

final def getClass(): Class[_]

Возвращает представление класса во время выполнения объекта.

возвращает

объект класса, соответствующий типу во время выполнения получателя.

Определения классов
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хеша для этого объекта.

Определения классов
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверить, соответствует ли динамический тип объекта-получателя типу T0.

Обратите внимание, что результат проверки производится с учётом стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания аргумента типа во время компиляции, невозможно проверить, являются ли элементы списка указанного типа.

возвращает

true если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Определения классов
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

final def notify(): Unit

Разбуживает один поток, ожидающий монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указано в SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указано в SLS как член AnyRef

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, "@" и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def →[B](y: B): (IsSeqLike[Repr], B)

Неявный
Этот член добавляется неявным преобразованием из IsSeqLike[Repr] в ArrowAssoc[IsSeqLike[Repr]] выполненным методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/generic/IsSeqLike.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API