Is there another method like .next?

I was looking for a way to iterate through the ascii values and was trying to get it to not go from "9" to "10" or "Z" to "AA". Evidently the string method .next always returns digits for digits and letters for letters. I could do something like:

a = "9"
b = ""
b << a[0].next => "["

but this seems overly complicated. I have to initialize b or Ruby complains of an undefined local variable or method and other methods of string assignment return "91".

For classic printables...

(32...128).map {|int| int.chr}

You then have an array which you can #join if you want.

Todd

···

On Wed, Nov 19, 2008 at 7:41 PM, Michael W. Ryder <_mwryder@worldnet.att.net> wrote:

I was looking for a way to iterate through the ascii values

Todd Benson wrote:

I was looking for a way to iterate through the ascii values

For classic printables...

(32...128).map {|int| int.chr}

I think this should be (32...127).map as 128 is the not printable.
I had forgotten about .chr. This allows me to do b = a[0].next.chr and get the desired result. This is a little more than I expected but a lot simpler than my first attempt. Thanks for the pointer.

···

On Wed, Nov 19, 2008 at 7:41 PM, Michael W. Ryder > <_mwryder@worldnet.att.net> wrote:

You then have an array which you can #join if you want.

Todd

Thanks for the correction :slight_smile: Actually, it's the 127 that's not
printable, but who's counting.

Todd

···

On Wed, Nov 19, 2008 at 10:21 PM, Michael W. Ryder <_mwryder@worldnet.att.net> wrote:

Todd Benson wrote:

On Wed, Nov 19, 2008 at 7:41 PM, Michael W. Ryder >> <_mwryder@worldnet.att.net> wrote:

I was looking for a way to iterate through the ascii values

For classic printables...

(32...128).map {|int| int.chr}

I think this should be (32...127).map as 128 is the not printable.