范围 | Range
范围
定义了一个范围。
范围表示第一个和最后一个值为整数的离散值数。
范围可以增加%28first <= last%29或下降%28first > last29%。范围也总是包括在内的。
范围在内部表示为结构。但是,在范围上创建和匹配的最常见形式是通过../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%28%29t%28第一,最后%29
功能
新%28,最后%29
创建一个新的范围
范围?%28项%29
回报true
如果给定term
是有效范围。
类型
T%28%29
t() :: %Range{first: integer, last: integer}
t%28第一,最后%29
t(first, last) :: %Range{first: first, last: last}
功能
新%28,最后%29
new(integer, integer) :: t
创建一个新的范围。
范围?%28项%29
range?(term) :: boolean
回报true
如果给定term
是一个有效的范围。
实例
iex> Range.range?(1..3)
true
iex> Range.range?(0)
false
© 2012–2017 Plataformatec
根据ApacheLicense,版本2.0获得许可。