Strange result from to_a


#1

I had unexpected results and could not figure out why

puts (" “…”~").to_a.inspect
returns results of " " thru “9”

m = []
(" “[0]…”~"[0]).to_a.each{|c| m << c.chr}
puts m.inspect

Is a longwinded way of getting the samne but it gives all the results

" " thru “~”

Can anyone tell me why this is so?

I also hear that to_a is to be depricated - but it is hard to figure out
what the alternatives are. Everything I found gave the same unexpeted
results.

Paul


#2

On Fri, Apr 10, 2009 at 12:22 PM, Paul Denize
removed_email_address@domain.invalid wrote:

I had unexpected results and could not figure out why

puts (" “…”~").to_a.inspect
returns results of " " thru “9”

works fine here, running ruby1.9


#3

Ok, I’m on ruby 1.8.6
Might be time to upgrade.

Thanks


#4

Yep, upgraded and the problem is gone.


#5

Paul Denize wrote:

puts (" “…”~").to_a.inspect
returns results of " " thru “9”

That’s because “9”.succ is “10” instead of “:”

I also hear that to_a is to be depricated - but it is hard to figure out
what the alternatives are.

Only Object#to_a is deprecated.