Hi,

I'm sorry, the last command must be:

result = s.split('').collect { |x| alpha_table[x] }

On Wed, May 23, 2012 at 7:36 PM, Duong Quang Ha <quangduongha / gmail.com>wrote:

> Hello,
>
> You can do this task in steps below:
> 1. Create a hash contains character as key and its corresponding number as
> value.
> 2. Use String#split to split the String into an array.
> 3. Use Array#collect to convert characters to corresponding number.
>
> Example:
>
> # Create hash contains alphabetical table
> alpha_table = {}
> (('A'..'Z').zip(1..26)).each { |x| alpha_table[x[0]] = x[1] }
>
> s = "RUBYC" # String to convert
> result = s.to_a.collect { |x| alpha_table[x] }
>
>
> On Wed, May 23, 2012 at 7:22 PM, Rich McMullen <lists / ruby-forum.com>wrote:
>
>> I am working through the Ruby Quiz website and I am already stuck on
>> number 1 - Solitaire Cypher.
>>
>> I have a string, let's say "RUBYC ODEIS THEBE STXXX".  I need to convert
>> each letter to its corresponding number (i.e., A=1, B=2, etc.).
>>
>> I had hoped I could use gsub with a regexp like this:
>>
>> coded_text = text.gsub(/[A-Z/,[1-26])
>>
>> but that doesn't work.  Any ideas?
>>
>> --
>> Posted via http://www.ruby-forum.com/.
>>
>>
>
> Regards,
>
> --
> Duong Quang Ha (H Quang Dng in Vietnamese)
> blog.haqduong.com
>
>


-- 
Duong Quang Ha (H Quang Dng in Vietnamese)
blog.haqduong.com