Spec-Zone.ru › Scala 3.2

Object Accumulator.Accumulator

Класс-компаньон • Исходный код

object Accumulator

Содержит методы-фабрики для создания Accumulator.

Обратите внимание, что сам объект Accumulator не является фабрикой, но неявно преобразуется в фабрику в соответствии с типом элемента, см. Accumulator.toFactory.

Это позволяет передавать объект Accumulator в качестве аргумента, когда требуется collection.Factory, и неявное значение Accumulator.AccumulatorFactoryShape используется для создания специализированного Accumulator в соответствии с типом элемента:

scala> val intAcc = Accumulator(1,2,3)
intAcc: scala.collection.convert.IntAccumulator = IntAccumulator(1, 2, 3)

scala> val anyAccc = Accumulator("K")
anyAccc: scala.collection.convert.AnyAccumulator[String] = AnyAccumulator(K)

scala> val intAcc2 = List(1,2,3).to(Accumulator)
intAcc2: scala.jdk.IntAccumulator = IntAccumulator(1, 2, 3)

scala> val anyAcc2 = List("K").to(Accumulator)
anyAcc2: scala.jdk.AnyAccumulator[String] = AnyAccumulator(K)
Надтипы
Класс Object
Трейт Matchable
Класс Any
Тип «self»
Accumulator.type

Классы-свойства

Исходный код
object AccumulatorFactoryShape extends LowPriorityAccumulatorFactoryShape

Компаньон класс

Исходный код
sealed trait AccumulatorFactoryShape[A, C]

Неявное AccumulatorFactoryShape используется в методе-фабрике Accumulator для возвращения специализированных вариантов в соответствии с типом элемента.

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

Исходный код
sealed trait LowPriorityAccumulatorFactoryShape

Конкретные методы

Исходный код
def apply[A, C](elems: A*)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Accumulator со значениями указанных элементов.

Параметры типа
A

тип элементов Accumulator

C

специфический (выведенный) тип Accumulator

Параметры значения
elems

элементы создаваемого Accumulator

Возвращает

новый Accumulator с элементами elems

Исходный код
def concat[A, C](xss: Iterable[A]*)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Объединяет все аргументные коллекции в один Accumulator.

Параметры значения
xss

коллекции, которые должны быть объединены.

Возвращает

результат объединения всех коллекций.

Исходный код
def empty[A, C](implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Пустая коллекция

Параметры типа
A

тип элементов Accumulator

Исходный код
def fill[A, C](n: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Accumulator, содержащий результаты вычисления элемента заданное количество раз.

Параметры значения
elem

вычисление элемента

n

количество элементов в Accumulator.

Возвращает

Accumulator, содержащий результаты n вычислений elem.

Source
def fill[A, C](n1: Int, n2: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[C]

Создаёт двухмерный Аккумулятор, содержащий результаты вычисления элемента заданное количество раз.

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

Возвращает

Аккумулятор, содержащий результаты n1 x n2 вычислений elem.

Source
def fill[A, C](n1: Int, n2: Int, n3: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[C]]

Создаёт трёхмерный Аккумулятор, содержащий результаты вычисления элемента заданное количество раз.

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

Возвращает

Аккумулятор, содержащий результаты n1 x n2 x n3 вычислений elem.

Source
def fill[A, C](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]

Создаёт четырёхмерный Аккумулятор, содержащий результаты вычисления элемента заданное количество раз.

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

Возвращает

Аккумулятор, содержащий результаты n1 x n2 x n3 x n4 вычислений elem.

Source
def fill[A, C](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]]

Создаёт пятимерный Аккумулятор, содержащий результаты вычисления элемента заданное количество раз.

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

n5

количество элементов в пятом измерении

Возвращает

Аккумулятор, содержащий результаты n1 x n2 x n3 x n4 x n5 вычислений elem.

Source
def from[A, C](source: IterableOnce[A])(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт целевой Аккумулятор из существующей исходной коллекции.

Тип параметров
A

тип элементов Аккумулятора

C

конкретный (выведенный) тип Аккумулятора

Параметры значения
source

Источник коллекции

Возвращает

новый Аккумулятор со элементами source

Исходный код
def iterate[A, C](start: A, len: Int)(f: A => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Аккумулятор, содержащий повторяемые применения функции к начальному значению.

Параметры значения
f

функция, которая многократно применяется

len

количество элементов, содержащихся в Аккумуляторе

start

начальное значение Аккумулятора

Возвращает

Аккумулятор со значениями len в последовательности start, f(start), f(f(start)), ...

Исходный код
def newBuilder[A, C](implicit canAccumulate: AccumulatorFactoryShape[A, C]): Builder[A, C]

Тип параметров
A

тип элементов Аккумулятора

C

конкретный тип Аккумулятора

Возвращает

Построитель для объектов Accumulator.

Исходный код
def range[A : Integral, C](start: A, end: A)(implicit evidence$1: Integral[A], canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Аккумулятор, содержащий последовательность возрастающих целых чисел.

Параметры значения
end

конечное значение Аккумулятора (первое значение, НЕ содержащееся)

start

первый элемент Аккумулятора

Возвращает

Аккумулятор со значениями start, start + 1, ..., end - 1

Исходный код
def range[A : Integral, C](start: A, end: A, step: A)(implicit evidence$2: Integral[A], canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Аккумулятор, содержащий равномерно распределённые значения в некотором целочисленном интервале.

Параметры значения
end

конечное значение Аккумулятора (первое значение, НЕ содержащееся)

start

начальное значение Аккумулятора

step

разница между последовательными элементами Аккумулятора (должна быть положительной или отрицательной)

Возвращает

Аккумулятор со значениями start, start + step, ... до, но не включая end

Исходный код
def tabulate[A, C](n: Int)(f: Int => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт Аккумулятор, содержащий значения заданной функции по диапазону целочисленных значений, начиная с 0.

Параметры значения
f

Функция вычисления значений элементов

n

Количество элементов в Аккумуляторе

Возвращает

Аккумулятор, состоящий из элементов f(0), ..., f(n -1)

Исходный код
def tabulate[A, C](n1: Int, n2: Int)(f: (Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[C]

Создаёт двумерный Аккумулятор, содержащий значения заданной функции по диапазонам целочисленных значений, начиная с 0.

Параметры значений
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

Возвращает

Акумулятора, состоящий из элементов f(i1, i2) для 0 <= i1 < n1 и 0 <= i2 < n2.

Исходный код
def tabulate[A, C](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[C]]

Создаёт трёхмерный накопитель, содержащий значения заданной функции для диапазонов целочисленных значений, начиная с 0.

Параметры значений
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

Возвращает

Акумулятора, состоящий из элементов f(i1, i2, i3) для 0 <= i1 < n1, 0 <= i2 < n2, и 0 <= i3 < n3.

Исходный код
def tabulate[A, C](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]

Создаёт четырёхмерный накопитель, содержащий значения заданной функции для диапазонов целочисленных значений, начиная с 0.

Параметры значений
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

Возвращает

Акумулятора, состоящий из элементов f(i1, i2, i3, i4) для 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, и 0 <= i4 < n4.

Исходный код
def tabulate[A, C](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): AnyAccumulator[AnyAccumulator[AnyAccumulator[AnyAccumulator[C]]]]

Создаёт пятимерный накопитель, содержащий значения заданной функции для диапазонов целочисленных значений, начиная с 0.

Параметры значений
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

n5

количество элементов в пятом измерении

Возвращает

Акумулятора, состоящий из элементов f(i1, i2, i3, i4, i5) для 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, 0 <= i4 < n4, и 0 <= i5 < n5.

Исходный код
def unfold[A, S, C](init: S)(f: S => Option[(A, S)])(implicit canAccumulate: AccumulatorFactoryShape[A, C]): C

Создаёт накопитель, использующий функцию f для создания элементов типа A и обновления внутреннего состояния типа S.

Тип параметров
A

Тип элементов

C

Тип (обычно выводимый) аккумулятора

S

Тип внутреннего состояния

Параметры значения
f

Вычисляет следующий элемент (или возвращает None для сигнализации об окончании коллекции)

init

Начальное значение состояния

Возвращаемое значение

Аккумулятор, который производит элементы с использованием f до тех пор, пока f не вернёт None

Неявные функции

Источник
implicit def toFactory[A, C](sa: Accumulator.type)(implicit canAccumulate: AccumulatorFactoryShape[A, C]): Factory[A, C]

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/jdk/Accumulator$.html

Spec-Zone.ru

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