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...)?
 
Cullen J O'Neill
--
cjon / engin.umich.edu