Spec-Zone.ru › Pony

Cons[A: A]

[Source]

Список с головой и хвостом, где хвост может быть пустым.

class val Cons[A: A] is
  ReadSeq[val->A] box

Реализует

  • ReadSeq[val->A] box

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

create

[Source]

new val create(
  a: val->A,
  t: (Cons[A] val | Nil[A] val))
: Cons[A] val^

Параметры

  • a: val->A
  • t: (Cons[A] val | Nil[A] val)

Возвращает

  • Cons[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 ?

values

[Source]

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

fun box values()
: Iterator[val->A] ref^

Возвращает

  • Iterator[val->A] ref^

is_empty

[Source]

Возвращает значение Bool, указывающее, пустой ли список.

fun box is_empty()
: Bool val

Возвращает

  • Bool val

is_non_empty

[Source]

Возвращает значение Bool, указывающее, непустой ли список.

fun box is_non_empty()
: Bool val

Возвращает

  • Bool val

head

[Source]

Возвращает голову списка.

fun box head()
: val->A

Возвращает

  • val->A

tail

[Source]

Возвращает хвост списка.

fun box tail()
: (Cons[A] val | Nil[A] val)

Возвращает

  • (Cons[A] val | Nil[A] val)

reverse

[Source]

Создает новый список, инвертируя элементы в списке.

fun val reverse()
: (Cons[A] val | Nil[A] val)

Возвращает

  • (Cons[A] val | Nil[A] val)

prepend

[Source]

Создает новый список с элементом, добавленным в начало этого списка.

fun val prepend(
  a: val->A!)
: Cons[A] val

Параметры

  • a: val->A!

Возвращает

  • Cons[A] val

concat

[Source]

Создает новый список, который является конкатенацией этого списка и предоставленного списка.

fun val concat(
  l: (Cons[A] val | Nil[A] val))
: (Cons[A] val | Nil[A] val)

Параметры

  • l: (Cons[A] val | Nil[A] val)

Возвращает

  • (Cons[A] val | Nil[A] val)

map[B: B]

[Source]

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

fun val map[B: B](
  f: {(val->A): val->B}[A, B] box)
: (Cons[B] val | Nil[B] val)

Параметры

  • f: {(val->A): val->B}[A, B] box

Возвращает

  • (Cons[B] val | Nil[B] val)

flat_map[B: B]

[Source]

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

fun val flat_map[B: B](
  f: {(val->A): List[B]}[A, B] box)
: (Cons[B] val | Nil[B] val)

Параметры

  • f: {(val->A): List[B]}[A, B] box

Возвращает

  • (Cons[B] val | Nil[B] val)

for_each

[Source]

Применяет предоставленную функцию к каждому элементу списка в порядке.

fun val for_each(
  f: {(val->A)}[A] box)
: None val

Параметры

  • f: {(val->A)}[A] box

Возвращает

  • None val

filter

[Source]

Создает новый список с теми элементами, которые удовлетворяют заданному предикату.

fun val filter(
  f: {(val->A): Bool}[A] box)
: (Cons[A] val | Nil[A] val)

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • (Cons[A] val | Nil[A] val)

fold[B: B]

[Source]

Складывает элементы списка с помощью предоставленной функции.

fun val fold[B: B](
  f: {(B, val->A): B^}[A, B] box,
  acc: B)
: B

Параметры

  • f: {(B, val->A): B^}[A, B] box
  • acc: B

Возвращает

  • B

every

[Source]

Возвращает true, если каждый элемент удовлетворяет предоставленному предикату, иначе false.

fun val every(
  f: {(val->A): Bool}[A] box)
: Bool val

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • Bool val

exists

[Source]

Возвращает true, если хотя бы один элемент удовлетворяет предоставленному предикату, иначе false.

fun val exists(
  f: {(val->A): Bool}[A] box)
: Bool val

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • Bool val

partition

[Source]

Создает пару списков, первый из которых состоит из элементов, удовлетворяющих предоставленному предикату, а второй — из тех, которые не удовлетворяют.

fun val partition(
  f: {(val->A): Bool}[A] box)
: ((Cons[A] val | Nil[A] val) , (Cons[A] val | Nil[A] val))

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • ((Cons[A] val | Nil[A] val) , (Cons[A] val | Nil[A] val))

drop

[Source]

Создает список, отбрасывая первые n элементов.

fun val drop(
  n: USize val)
: (Cons[A] val | Nil[A] val)

Параметры

  • n: USize val

Возвращает

  • (Cons[A] val | Nil[A] val)

drop_while

[Source]

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

fun val drop_while(
  f: {(val->A): Bool}[A] box)
: (Cons[A] val | Nil[A] val)

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • (Cons[A] val | Nil[A] val)

take

[Source]

Создаёт список первых n элементов.

fun val take(
  n: USize val)
: (Cons[A] val | Nil[A] val)

Параметры

  • n: USize val

Возвращает

  • (Cons[A] val | Nil[A] val)

take_while

[Source]

Создаёт список элементов, удовлетворяющих предоставленному предикату, пока один не перестанет.

fun val take_while(
  f: {(val->A): Bool}[A] box)
: (Cons[A] val | Nil[A] val)

Параметры

  • f: {(val->A): Bool}[A] box

Возвращает

  • (Cons[A] val | Nil[A] val)

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

Spec-Zone.ru

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