本文简要介绍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 Range.size用法及代码示例
- Ruby Range.self ==用法及代码示例
- Ruby Range.self ===用法及代码示例
- Ruby Range.end用法及代码示例
- Ruby Range.last用法及代码示例
- Ruby Range.new用法及代码示例
- Ruby Range.min用法及代码示例
- Ruby Range.max用法及代码示例
- Ruby Range.exclude_end?用法及代码示例
- Ruby Range.count用法及代码示例
- Ruby Range.member?用法及代码示例
- Ruby Range.eql?用法及代码示例
- Ruby Range.begin用法及代码示例
- Ruby Range.first用法及代码示例
- Ruby Range.minmax用法及代码示例
- Ruby Range.each用法及代码示例
- Ruby Range.%用法及代码示例
- Ruby Range.cover?用法及代码示例
- Ruby Range.entries用法及代码示例
- Ruby Range.to_s用法及代码示例
- Ruby Range.to_a用法及代码示例
- Ruby Range.include?用法及代码示例
- Ruby Range.inspect用法及代码示例
- Ruby Range new()用法及代码示例
- Ruby Range last()用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Range.step。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。