Forum: Ruby Is there another method like .next?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ee04bc0ca6dcdad4a7e8a8e1d4efb5d0?d=identicon&s=25 Michael W. Ryder (Guest)
on 2008-11-20 02:45
(Received via mailing list)
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".
289cf19aa581c445915c072bf45c5e25?d=identicon&s=25 Todd Benson (Guest)
on 2008-11-20 04:49
(Received via mailing list)
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}

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

Todd
Ee04bc0ca6dcdad4a7e8a8e1d4efb5d0?d=identicon&s=25 Michael W. Ryder (Guest)
on 2008-11-20 05:25
(Received via mailing list)
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.
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.



> You then have an array which you can #join if you want.
>
289cf19aa581c445915c072bf45c5e25?d=identicon&s=25 Todd Benson (Guest)
on 2008-11-20 05:49
(Received via mailing list)
On Wed, Nov 19, 2008 at 10:21 PM, Michael W. Ryder
<_mwryder@worldnet.att.net> wrote:
>>
> I think this should be (32...127).map as 128 is the not printable.

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

Todd
This topic is locked and can not be replied to.