# Build array from interval and duration

**URL:** <https://www.ruby-forum.com/t/build-array-from-interval-and-duration/173088>\
**Category:** Ruby\
**Created:** [August 2, 2009, 5:57am UTC](https://www.ruby-forum.com/t/build-array-from-interval-and-duration/173088 "2009-08-02T05:57:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![leveille](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/a88e57/32.png) [@leveille](https://www.ruby-forum.com/u/leveille)\
**Post date:** [August 2, 2009, 5:57am UTC](https://www.ruby-forum.com/t/build-array-from-interval-and-duration/173088/1 "2009-08-02T05:57:56Z")

</div>

Is there a shorter way to build an array based on an interval and  
duration than the way I attempted?

def build\_array(step,duration)  
counter = 0  
a = []  
while counter \<= duration do  
a \<\< counter  
counter += step  
end  
return a  
end

irb(main):010:0\> dt = 0.5  
=\> 0.5  
irb(main):011:0\> total\_time = 10  
=\> 10  
irb(main):012:0\> time\_steps = build\_array(dt,total\_time)  
=\> [0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5,  
7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0]

Thank you!

---

<div class="post-metadata">

**Author:** ![leveille](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/a88e57/32.png) [@leveille](https://www.ruby-forum.com/u/leveille)\
**Post date:** [August 2, 2009, 6:09am UTC](https://www.ruby-forum.com/t/build-array-from-interval-and-duration/173088/2 "2009-08-02T06:09:17Z")

</div>

Jason L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> Is there a shorter way to build an array based on an interval and  
> duration than the way I attempted?

Yep:  
irb(main):004:0\> 0.step(10, 0.5).to\_a  
=\> [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0,  
6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0]

---

<div class="post-metadata">

**Author:** ![leveille](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/a88e57/32.png) [@leveille](https://www.ruby-forum.com/u/leveille)\
**Post date:** [August 2, 2009, 8:05am UTC](https://www.ruby-forum.com/t/build-array-from-interval-and-duration/173088/3 "2009-08-02T08:05:25Z")

</div>

> Yep:  
> irb(main):004:0\> 0.step(10, 0.5).to\_a

That’s great. Thank you.
