Velocity Reviews > Ruby > Seems so simple, but is this really the only way, or most directway?

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

John Pywtorak
Guest
Posts: n/a

 10-18-2006
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 Pywtorak
Cal Poly State University
ITS/ASAS
805-756-5906

Phrogz
Guest
Posts: n/a

 10-18-2006
John Pywtorak 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]

Mike Dvorkin
Guest
Posts: n/a

 10-18-2006
id.unpack('c' * id.size).map { |x| x-48 } # without regex and to_i
conversions

Mike Dvorkin
http://www.rubywizards.com

On Oct 17, 2006, at 5:36 PM, John Pywtorak 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?
>
> I tried the "*" mechanism, no such luck, and tried array slicing
> again no luck. TIA
> --
> John Pywtorak
> Cal Poly State University
> ITS/ASAS
> 805-756-5906
>
>
>

Harold Hausman
Guest
Posts: n/a

 10-18-2006
On 10/18/06, John Pywtorak <(E-Mail Removed)> 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

benjohn@fysh.org
Guest
Posts: n/a

 10-18-2006
> 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...

 Thread Tools

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post mike3 C++ 36 09-20-2007 06:38 AM Charles Fox Python 56 09-18-2007 11:15 PM mike3 C++ 4 09-01-2007 06:44 PM lee houston Computer Support 0 10-05-2006 09:03 PM nc HTML 1 02-03-2005 07:24 PM

Advertisments