# Seems so simple, but is this really the only way, or most di

9 digits in a string “123456789”, convert to individual Fixnums
[1,2,3,4,5,6,7,8,9], or as below

a, b, c, d, e, f, g, h, i = id.scan(/\d/).map(&:to_i)

Simpler yet how about [“1”, “2”, …]. Is scan the only direct way?

I tried the “*” mechanism, no such luck, and tried array slicing again
no luck. TIA

John P. wrote:

9 digits in a string “123456789”, convert to individual Fixnums

irb(main):001:0> s = “123456789”
=> “123456789”
irb(main):002:0> s.split(’’).map{ |n| n.to_i }
=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

id.unpack(‘c’ * id.size).map { |x| x-48 } # without regex and to_i
conversions

Mike D.
http://www.rubywizards.com

On 10/18/06, John P. [email protected] wrote:

9 digits in a string “123456789”, convert to individual Fixnums
[1,2,3,4,5,6,7,8,9], or as below

a, b, c, d, e, f, g, h, i = id.scan(/\d/).map(&:to_i)

Simpler yet how about [“1”, “2”, …]. Is scan the only direct way?

“123456789”.split( ‘’ ) #thats two single quotes. (:

hth,
-Harold

On 10/18/06, Mike D. [email protected] wrote:

id.unpack(‘c’ * id.size).map { |x| x-48 } # without regex and to_i
conversions

which is great, but if we are golfing let us improve our handicap
id.unpack(“c*”)…

Robert

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all progress
depends on the unreasonable man.

• George Bernhard Shaw

9 digits in a string “123456789”, convert to individual Fixnums
[1,2,3,4,5,6,7,8,9], or as below

a, b, c, d, e, f, g, h, i = id.scan(/\d/).map(&:to_i)

Simpler yet how about [“1”, “2”, …]. Is scan the only direct way?

I tried the “*” mechanism, no such luck, and tried array slicing again
no luck. TIA

(1…9).to_a

?

I’m not quite sure what you are trying to do, you see Are you trying
to actaully set variables? If you are, first I’d ask “why are you trying
to set a range of instance variables”. After that, if you’re sure you do
(and hell, “for fun” is an answer), then I’m sure that there is a method
like instance_variable_set, only for manipulating local variables, but
oddly, I don’t seem able to find it at the moment…

“123456789”.split( ‘’ ) #thats two single quotes. (:

But that only gives you nine strings. The question demanded nine
Fixnums, which is the less elegant part.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.