La interfaz Sequence

(PECL ds >= 1.0.0)

Introducción

Una Sequence describe el comportamiento de los valores dispuestos en una sola dimensión lineal. Algunos lenguajes se refieren a esto como una "Lista". Es similar a un array que utiliza claves enteras incrementales, con la excepción de algunas características:

  • Los valores siempre serán indexados como [0, 1, 2, …, size - 1].
  • Solo los valores por índice en el rango [0, size - 1] están permitidos.

Casos de uso:

  • En cualquier lugar donde se utilizaría un array como lista (sin preocuparse por las claves).
  • Una alternativa más eficiente a SplDoublyLinkedList y SplFixedArray.

Sinopsis de la Interfaz

interface Ds\Sequence extends Ds\Collection, ArrayAccess {
/* Métodos */
abstract public function allocate(int $capacity): void
abstract public function apply(callable $callback): void
abstract public function capacity(): int
abstract public function contains(mixed ...$values): bool
abstract public function filter(callable $callback = ?): Ds\Sequence
abstract public function find(mixed $value): mixed
abstract public function first(): mixed
abstract public function get(int $index): mixed
abstract public function insert(int $index, mixed ...$values): void
abstract public function join(string $glue = ?): string
abstract public function last(): mixed
abstract public function map(callable $callback): Ds\Sequence
abstract public function merge(mixed $values): Ds\Sequence
abstract public function pop(): mixed
abstract public function push(mixed ...$values): void
abstract public function reduce(callable $callback, mixed $initial = ?): mixed
abstract public function remove(int $index): mixed
abstract public function reverse(): void
abstract public function reversed(): Ds\Sequence
abstract public function rotate(int $rotations): void
abstract public function set(int $index, mixed $value): void
abstract public function shift(): mixed
abstract public function slice(int $index, int $length = ?): Ds\Sequence
abstract public function sort(callable $comparator = ?): void
abstract public function sorted(callable $comparator = ?): Ds\Sequence
abstract public function sum(): int|float
abstract public function unshift(mixed $values = ?): void
/* Métodos heredados */
public function Ds\Collection::clear(): void
public function Ds\Collection::isEmpty(): bool
public function Ds\Collection::toArray(): array
public function Countable::count(): int
public function ArrayAccess::offsetExists(mixed $offset): bool
public function ArrayAccess::offsetGet(mixed $offset): mixed
public function ArrayAccess::offsetSet(mixed $offset, mixed $value): void
public function ArrayAccess::offsetUnset(mixed $offset): void
}

Historial de cambios

Versión Descripción
PECL ds 1.3.0 Esta interfaz ahora extiende ArrayAccess.

Tabla de contenidos

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top