"Cullen J O'neill" <cjon / sapphire.engin.umich.edu> wrote in message
news:gO2V5.192$6b.469 / srvr1.engin.umich.edu...
> I have a string of numbers like:
>
> "2 3 3.5 5 1.2"
>
> What's the best way to convert this into an array like:
>
> [ 2, 3, 3.5, 5, 1.2 ]
>
> Right now I'm using:
>
> a = s.split.collect { |n| if n =~ /[0-9]+\.[0-9]+/ then n.to_f
>                           else n.to_i end }
>
> What I'm wondering is, is there a simpler or more elegant (assuming
> there's any difference) of doing the same thing?
>
> Is there a better way if it is all Integers (excepting the if...)?
>

How about

a = s.split.collect {|x| eval x}

> Cullen J O'Neill
> --
> cjon / engin.umich.edu

Park, Hee-Sob