Spec-Zone.ru › Elixir 1.4

Диапазон

Определяет диапазон.

Диапазон представляет собой набор дискретных значений, где первое и последнее значения являются целыми числами.

Диапазоны могут быть возрастающими (первое значение ≤ последнего) или убывающими (первое значение > последнего). Диапазоны всегда включают свои границы.

Диапазон представлен внутренне как структура. Однако наиболее распространённый способ создания и проверки диапазонов — с помощью макроса ../2, автоматически импортированного из Kernel:

iex> range = 1..3
1..3
iex> first..last = range
iex> first
1
iex> last
3

Диапазон реализует протокол Enumerable, что означает доступность всех функций модуля Enum:

iex> range = 1..10
1..10
iex> Enum.reduce(range, 0, fn i, acc -> i * i + acc end)
385
iex> Enum.count(range)
10
iex> Enum.member?(range, 11)
false
iex> Enum.member?(range, 8)
true

Краткое описание

Типы

t()
t(first, last)

Функции

new(first, last)

Создаёт новый диапазон

range?(term)

Возвращает true , если заданный term является допустимым диапазоном

Типы

t()

t() :: %Range{first: integer(), last: integer()}

t(first, last)

t(first, last) :: %Range{first: first, last: last}

Функции

new(first, last)

new(integer(), integer()) :: t()

Создаёт новый диапазон.

range?(term)

range?(term()) :: boolean()

Возвращает true , если заданный term является допустимым диапазоном.

Примеры

iex> Range.range?(1..3)
true

iex> Range.range?(0)
false

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.4.5/Range.html

Spec-Zone.ru

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