From: Aaron Patterson Date: 2007-02-20T09:59:55+09:00 Subject: Re: Strange question: Convert string to array name On Tue, Feb 20, 2007 at 09:20:13AM +0900, kenbo wrote: > I am coming to Ruby from LISP where I was more competent when it came > to symbol > manipulation :-) I have spent some time trying to solve this problem > and figure it's my > general lack of deep knowledge ala Ruby that keeps me from seeing an > "easy" solution. > > With that said, I apologize if this has been answered and I missed > it. > > I have a string in a variable. > foo = "bobo" > > I want to use foo to access an array called bobo. I will have bobo > defined already. > > Is there a way to do this? eval() might be what you're looking for. You can use eval to return the array then index in to it. Here's an example from: irb(main):001:0> awesome_array = %w{ one two three four five } => ["one", "two", "three", "four", "five"] irb(main):002:0> foo = 'awesome_array' => "awesome_array" irb(main):003:0> puts eval(foo)[1] two => nil irb(main):004:0> Hope that helps! -- Aaron Patterson http://tenderlovemaking.com/