當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。