# Cycle in Ruby 1.9?

**URL:** <https://www.ruby-forum.com/t/cycle-in-ruby-1-9/147270>\
**Category:** Ruby\
**Created:** [August 30, 2008, 1:32am UTC](https://www.ruby-forum.com/t/cycle-in-ruby-1-9/147270 "2008-08-30T01:32:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Charles\_Turner](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/13edae/32.png) [@Charles\_Turner](https://www.ruby-forum.com/u/Charles_Turner)\
**Post date:** [August 30, 2008, 1:32am UTC](https://www.ruby-forum.com/t/cycle-in-ruby-1-9/147270/1 "2008-08-30T01:32:50Z")

</div>

Hi all-

I’ve seen a number of references to being able to pass an argument to  
cycle() to limit its behavior to a finite number of iterations.  
However, I get this in irb 1.9.0:

ruby 1.9.0 (2007-12-25 revision 14709) [i686-darwin9.4.0]  
spinoza:~$ irb  
irb(main):001:0\> (‘a’…‘c’).cycle(2)  
ArgumentError: wrong number of arguments(1 for 0)  
from (irb):1:in `cycle' from (irb):1 from /usr/local/lib/ruby/1.9.0/irb.rb:150:in`block (2 levels) in  
eval\_input’  
from /usr/local/lib/ruby/1.9.0/irb.rb:259:in `signal_status' from /usr/local/lib/ruby/1.9.0/irb.rb:147:in`block in eval\_input’  
from /usr/local/lib/ruby/1.9.0/irb.rb:146:in `eval_input' from /usr/local/lib/ruby/1.9.0/irb.rb:70:in`block in start’  
from /usr/local/lib/ruby/1.9.0/irb.rb:69:in `catch' from /usr/local/lib/ruby/1.9.0/irb.rb:69:in`start’  
from /usr/local/bin/irb:13:in `’  
irb(main):002:0\>

Any thoughts on why this doesn’t work for me?

Best, Charles

---

<div class="post-metadata">

**Author:** ![Charles\_Turner](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/13edae/32.png) [@Charles\_Turner](https://www.ruby-forum.com/u/Charles_Turner)\
**Post date:** [August 30, 2008, 2:23am UTC](https://www.ruby-forum.com/t/cycle-in-ruby-1-9/147270/2 "2008-08-30T02:23:08Z")

</div>

On Aug 29, 2008, at 6:25 PM, Charles Turner wrote:

> I’ve seen a number of references to being able to pass an argument to  
> cycle() to limit its behavior to a finite number of iterations.  
> However, I get this in irb 1.9.0:
> 
> ruby 1.9.0 (2007-12-25 revision 14709) [i686-darwin9.4.0]  
> spinoza:~$ irb  
> irb(main):001:0\> (‘a’…‘c’).cycle(2)  
> ArgumentError: wrong number of arguments(1 for 0)

Ruby 1.9 has changed a lot since Christmas. Here’s the same code  
running on a build based on today’s HEAD:

dave[RUBY3/Book 18:41:43\*] ruby -ve “p((‘a’…‘c’).cycle(2))”  
ruby 1.9.0 (2008-08-30 revision 15427) [i386-darwin9.4.0]  
#Enumerator:0x0d85cc

Expanding the Enumerator gives

dave[RUBY3/Book 18:41:49\*] ruby -ve “p((‘a’…‘c’).cycle(2).to\_a)”  
ruby 1.9.0 (2008-08-30 revision 15427) [i386-darwin9.4.0]  
[“a”, “b”, “c”, “a”, “b”, “c”]

Cheers

Dave
