是否有更好/更清晰的方法来创建以偏移量开头的Ruby枚举器(即for循环)?一种只涉及次数和偏移一次的方式。
例如,从100开始迭代10次:
> 100.upto(100 + 10)
#<Enumerator: 100:upto(110)>
或者
> 10.times.collect{|i| 100 + i}.each
#<Enumerator: [100, 101, 102, 103, 104, 105, 106, 107, 108, 109]:each>
这样的事情会很好:
100.next(10)
答案 0 :(得分:3)
也许这可行:
(1..10).each.with_index(100) do |elem, i| puts "#{i}: #{elem}" end
100: 1
101: 2
102: 3
103: 4
104: 5
105: 6
106: 7
107: 8
108: 9
109: 10
答案 1 :(得分:0)
(100..110).each
或更通用的
(start..start+offset).each
答案 2 :(得分:0)
范围怎么样:
[6] pry(main)> offset = 10
=> 10
[7] pry(main)> (100..(100 + offset)).collect { |i| i }
=> [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110]
[8] pry(main)> (100..(100 + offset)).collect { |i| i }