Spec-Zone.ru › Pony

Vec[A: Any #share]

[Source]

Персистентный вектор, основанный на хэш-матрице сопоставления с помощью древовидной структуры «Идеальные хэш-деревья» Фила Бэгвелла.

class val Vec[A: Any #share]

Конструкторы

create

[Source]

new val create()
: Vec[A] val^

Возвращает

  • Vec[A] val^

Публичные функции

size

[Source]

Возвращает количество элементов в векторе.

fun box size()
: USize val

Возвращает

  • USize val

apply

[Source]

Возвращает элемент с индексом i, вызывая ошибку, если индекс вне границ.

fun box apply(
  i: USize val)
: val->A ?

Параметры

  • i: USize val

Возвращает

  • val->A ?

update

[Source]

Возвращает вектор с изменённым элементом с индексом i, вызывая ошибку, если индекс вне границ.

fun val update(
  i: USize val,
  value: val->A)
: Vec[A] val ?

Параметры

  • i: USize val
  • value: val->A

Возвращает

  • Vec[A] val ?

insert

[Source]

Возвращает вектор с вставленным элементом. Элементы после вставленного смещаются на одну позицию вверх, увеличивая размер вектора. Индекс вне границ вызывает ошибку.

fun val insert(
  i: USize val,
  value: val->A)
: Vec[A] val ?

Параметры

  • i: USize val
  • value: val->A

Возвращает

  • Vec[A] val ?

delete

[Source]

Возвращает вектор с удалённым элементом. Элементы после удалённого смещаются вниз на одну позицию, уменьшая размер вектора. Индекс вне границ вызывает ошибку.

fun val delete(
  i: USize val)
: Vec[A] val ?

Параметры

  • i: USize val

Возвращает

  • Vec[A] val ?

remove

[Source]

Возвращает вектор с удалёнными n элементами, начиная с индекса i.

fun val remove(
  i: USize val,
  n: USize val)
: Vec[A] val ?

Параметры

  • i: USize val
  • n: USize val

Возвращает

  • Vec[A] val ?

push

[Source]

Возвращает вектор со значением, добавленным в конец.

fun val push(
  value: val->A)
: Vec[A] val

Параметры

  • value: val->A

Возвращает

  • Vec[A] val

pop

[Source]

Возвращает вектор с удалённым значением с конца.

fun val pop()
: Vec[A] val ?

Возвращает

  • Vec[A] val ?

concat

[Source]

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

fun val concat(
  iter: Iterator[val->A] ref)
: Vec[A] val

Параметры

  • iter: Iterator[val->A] ref

Возвращает

  • Vec[A] val

find

[Source]

Находит первое вхождение nth элемента value с начала вектора, начиная с offset, проверяя последующие индексы и используя предоставленное predicate для сравнения. Возвращает индекс значения, или вызывает ошибку, если значение отсутствует.

По умолчанию поиск начинается с первого элемента вектора, возвращает первое найденное вхождение value и использует идентичность объектов для сравнения.

fun val find(
  value: val->A,
  offset: USize val = 0,
  nth: USize val = 0,
  predicate: {(A, A): Bool}[A] val = lambda)
: USize val ?

Параметры

  • value: val->A
  • offset: USize val = 0
  • nth: USize val = 0
  • predicate: {(A, A): Bool}[A] val = lambda

Возвращает

  • USize val ?

contains

[Source]

Возвращает true, если вектор содержит value, иначе false.

fun val contains(
  value: val->A,
  predicate: {(A, A): Bool}[A] val = lambda)
: Bool val

Параметры

  • value: val->A
  • predicate: {(A, A): Bool}[A] val = lambda

Возвращает

  • Bool val

slice

[Source]

Возвращает вектор, являющийся копией части этого вектора. Диапазон не включает конечную границу и является насыщаемым.

fun val slice(
  from: USize val = 0,
  to: USize val = call,
  step: USize val = 1)
: Vec[A] val

Параметры

  • from: USize val = 0
  • to: USize val = call
  • step: USize val = 1

Возвращает

  • Vec[A] val

reverse

[Source]

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

fun val reverse()
: Vec[A] val

Возвращает

  • Vec[A] val

keys

[Source]

Возвращает итератор по индексам в векторе.

fun val keys()
: VecKeys[A] ref^

Возвращает

  • VecKeys[A] ref^

values

[Source]

Возвращает итератор по значениям в векторе.

fun val values()
: VecValues[A] ref^

Возвращает

  • VecValues[A] ref^

pairs

[Source]

Возвращает итератор по парам (индекс, значение) в векторе.

fun val pairs()
: VecPairs[A] ref^

Возвращает

  • VecPairs[A] ref^

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/collections-persistent-Vec

Spec-Zone.ru

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