Spec-Zone.ru › Elixir 1.3

Диапазон

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

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

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

Диапазон представлен внутри как структура. Однако наиболее распространённый способ создания и сопоставления диапазонов - с помощью макроса ../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.3.4/Range.html

Spec-Zone.ru

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