matt neuburg wrote:
> If there are a lot of these, however, it would be much better to do a
> keyed sort using sort_by. How to create keys depends on what you know
> about the data. If we knew for a fact that the second half was always
> between 1 and 99, it would be easy:
> 
> arr = arr.sort_by do |x|
>   x1, x2 = x.split(".")
>   x1.to_i * 100 + x2.to_i
> end
> 
> If the second half can be any length, though, you'll have to determine
> the maximum length first, and change that "100" multiplier accordingly.

Either that or use arrays as sort keys:

  arr = arr.sort_by do |x|
    x.split(".").map {|i| i.to_i}
  end

-Matthias
-- 
Posted via http://www.ruby-forum.com/.