# FixNum#times is correct?

**URL:** <https://www.ruby-forum.com/t/fixnum-times-is-correct/160042>\
**Category:** Ruby\
**Created:** [February 11, 2009, 9:31am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042 "2009-02-11T09:31:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [February 11, 2009, 9:31am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042/1 "2009-02-11T09:31:19Z")

</div>

irb\> 5.times {|i| puts i}  
0  
1  
2  
3  
4  
5

Is it the expected output? I was expecting:  
0  
1  
2  
3  
4

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [February 11, 2009, 9:33am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042/2 "2009-02-11T09:33:40Z")

</div>

On Wed, Feb 11, 2009 at 12:29 AM, Iñaki Baz C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> irb\> 5.times {|i| puts i}  
> 0  
> 1  
> 2  
> 3  
> 4  
> 5

I think you may have clipped some of the output. Here’s what I get:

irb(main):005:0\> 5.times {|i| puts i}  
0  
1  
2  
3  
4  
=\> 5

It’s puts’ing 0-4, and then returning 5. To see this more clearly, try  
this:

5.times {|i| puts “-- #{i}” }

Ben

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [February 11, 2009, 9:35am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042/3 "2009-02-11T09:35:26Z")

</div>

Alle Wednesday 11 February 2009, Iñaki Baz C. ha scritto:

> 0  
> 1  
> 2  
> 3  
> 4

The 5 you see is the return value of 5.times, which irb displays as it  
does  
with the value returned by each expression you evaluate. If you try the  
above  
code from a script or from command line, you’ll get the expected result:

ruby -e ‘5.times{|i| puts i}’

0  
1  
2  
3  
4

Stefano

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [February 11, 2009, 9:36am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042/4 "2009-02-11T09:36:02Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Haha!

ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0]  
ruby 1.8.6: main

> > 5.times {|i| puts i }  
> > 0  
> > 1  
> > 2  
> > 3  
> > 4

# =\> 5

11 Ñ„ÐµÐ²Ñ€. 2009, Ð² 10:29, IÃ±aki Baz C. Ð½Ð°Ð¿Ð¸ÑÐ°Ð»(Ð°):

> 0  
> 1  
> 2  
> 3  
> 4
> 
> –  
> IÃ±aki Baz C.

* * *

WBR, Alexander Simonov (DEVL-RIPE)  
Developer, System A.  
Web S.: [http://simonov.in.ua](http://simonov.in.ua)  
E-Mail: removed\_email\_address@domain.invalid

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v2.0.9 (Darwin)

iEYEARECAAYFAkmSjdgACgkQkr9AYoS+FlX4eQCg6ZuRPBmcH+MxxqiM3T1yMdP7  
L5EAnihKNvxYEURo4oTGK8T1UxKejttR  
=EoOm  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [February 11, 2009, 9:42am UTC](https://www.ruby-forum.com/t/fixnum-times-is-correct/160042/5 "2009-02-11T09:42:29Z")

</div>

El Miércoles, 11 de Febrero de 2009, Ben B.  
escribió:\> It’s puts’ing 0-4, and then returning 5. To see this more clearly, try

> this:
> 
> 5.times {|i| puts “-- #{i}” }

Ops, my IRB configuration is not helping me 🙂

Thanks for the explanation.
