当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Range.step用法及代码示例


本文简要介绍ruby语言中 Range.step 的用法。

用法

step(n = 1) {|element| ... } → self
step(n = 1) → enumerator

迭代 self 的元素。

给定块且不带参数,调用块范围内的每个元素;返回 self

a = []
(1..5).step {|element| a.push(element) } # => 1..5
a # => [1, 2, 3, 4, 5]
a = []
('a'..'e').step {|element| a.push(element) } # => "a".."e"
a # => ["a", "b", "c", "d", "e"]

给定一个块并给定一个正整数参数 n,调用带有元素 0 、元素 n 、元素 2n 等的块:

a = []
(1..5).step(2) {|element| a.push(element) } # => 1..5
a # => [1, 3, 5]
a = []
('a'..'e').step(2) {|element| a.push(element) } # => "a".."e"
a # => ["a", "c", "e"]

如果没有给出块,则返回一个枚举器,如果 self 是数字,它将属于类 Enumerator::ArithmeticSequence ;否则类枚举器:

e = (1..5).step(2) # => ((1..5).step(2))
e.class            # => Enumerator::ArithmeticSequence
('a'..'e').step # => #<Enumerator: ...>

相关: Range#%

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Range.step。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。