Spec-Zone.ru › Scala 2.13 Library

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

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

трейт IsIterableOnce[Repr] extends AnyRef

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

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

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

class FilterMapImpl[Repr, I <: IsIterableOnce[Repr]](coll: Repr, it: I) {
  final def filterMap[B, That](f: it.A => Option[B])(implicit bf: BuildFrom[Repr, B, That]): That = {
    val b = bf.newBuilder(coll)
    for(e <- it(coll).iterator) f(e) foreach (b +=)
    b.result()
  }
}
implicit def filterMap[Repr](coll: Repr)(implicit it: IsIterableOnce[Repr]): FilterMapImpl[Repr, it.type] =
  new FilterMapImpl(coll, it)

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

2.10

Линейные супертипы
AnyRef, Any
Известные подклассы
IsIterable, IsMap, IsSeq

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

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

Тип элементов, по которым можно переходить (например, Int).

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

абстрактный def apply(coll: Repr): IterableOnce[A]

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

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), иначе false.

Определяющие классы
AnyRef → Any

final def ##(): Int

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

возвращает

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

Определяющие классы
AnyRef → Any

def +(other: String): String

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

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

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

final def ==(arg0: Any): Boolean

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

возвращает

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

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение объекта-приёмника к типу T0.

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

возвращает

объект-приёмник.

Определяющие классы
Any
Исключения

ClassCastException, если объект-приёмник не является экземпляром стираемого типа T0.

def clone(): AnyRef

Создаёт копию объекта-приёмника.

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

возвращает

копию объекта-приёмника.

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

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

def ensuring(cond: (IsIterableOnce[Repr]) => Boolean, msg: => Any): IsIterableOnce[Repr]

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

def ensuring(cond: (IsIterableOnce[Repr]) => Boolean): IsIterableOnce[Repr]

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

def ensuring(cond: Boolean, msg: => Any): IsIterableOnce[Repr]

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

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

Неявный
Этот член добавлен неявным преобразованием из IsIterableOnce[Repr] в Ensuring[IsIterableOnce[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: AnyRef): Boolean

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

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

возвращает

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

Определяющие классы
AnyRef → Any

def finalize(): Unit

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

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

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

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

def formatted(fmtstr: String): String

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

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

final def getClass(): Class[_ <: AnyRef]

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
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()
Note

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

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Note

не определён в 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(classOf[java.lang.InterruptedException])

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

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

Spec-Zone.ru

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