首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

范围 | Range

定义了一个范围。

范围表示第一个和最后一个值为整数的离散值数。

范围可以增加%28first <= last%29或下降%28first > last29%。范围也总是包括在内的。

范围在内部表示为结构。但是,在范围上创建和匹配的最常见形式是通过../2宏,自动从Kernel*

代码语言:javascript
复制
iex> range = 1..3
1..3
iex> first..last = range
iex> first
1
iex> last
3

区域实现Enumerable协议,这意味着Enum模块可用于处理范围:

代码语言:javascript
复制
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

代码语言:javascript
复制
t() :: %Range{first: integer, last: integer}

t%28第一,最后%29

代码语言:javascript
复制
t(first, last) :: %Range{first: first, last: last}

新%28,最后%29

代码语言:javascript
复制
new(integer, integer) :: t

创建一个新的范围。

范围?%28项%29

代码语言:javascript
复制
range?(term) :: boolean

回报true如果给定term是一个有效的范围。

实例

代码语言:javascript
复制
iex> Range.range?(1..3)
true

iex> Range.range?(0)
false
代码语言:txt
复制
 © 2012–2017 Plataformatec

根据ApacheLicense,版本2.0获得许可。

扫码关注腾讯云开发者

领取腾讯云代金券