On Mar 6, 2006, at 11:14 AM, Paul Tsung wrote:

> Hi,
>
> I have a question about assigning the contents of a list of variables
> with names like title1, title2, title3 up to title20 to an array.
>
> Currently, this is the code that I use.
>
> title1 = ruby
> title2 = rails
> title3 = typo
> .
> .
> .
> title20 = ajax
>
> title_array = [title1, title2, title3, title4, title5, title6, title7,
> title8, title9, title10, title11, title12, title13, title14, title15,
> title16, title17, title18, title19, title20]
>
> title_array.each do | i |
>     do something...
> end
>
> Is there a shorter way to do this?  Instead of typing all the variable
> names, can I use a range to do this?  Like title(1..20)?
>
> Thanks for any help with this.
>
>
> --  
> Posted via http://www.ruby-forum.com/.
>

I am confused, why not title_array = [ ruby, rails, typo, ..., ajax ]

However if really want to do this,  (I really think this needs a  
redesign though) you can do this:

title_array = []

(1..20).each do |i|
     title_array << eval("title#{i}")
end