Диапазон
Определяет диапазон.
Диапазон представляет собой набор дискретных значений, где первое и последнее значения являются целыми числами.
Диапазоны могут быть возрастающими (первое значение ≤ последнего) или убывающими (первое значение > последнего). Диапазоны всегда включают свои границы.
Диапазон представлен внутренне как структура. Однако наиболее распространённый способ создания и проверки диапазонов — с помощью макроса ../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