Rg Rg wrote: > @f.each do |linea| > cod, desc = linea.chomp.split(/,/) > @array1[i] = [ cod.strip.to_i ] > i = i+1 > end > @asort1 = @array1.sort An equivalent piece of code that does the same: @array1 = @f.map do |linea| [ linea.to_i ] end @asort1 = @array1.sort String#to_i ignores whitespace at the beginning (so you don't need strip) and will stop at the first non digit (so you don't have to remove what comes after the comma - it will just be ignored). Though I wonder what the purpose of the @array1 variable is and whether it is intended that @array1 as well as @asort1 only contain one-element arrays. In case @array1 has no purpose (other than holding the values to be sorted until they are sorted) and the one-element arrays are not wanted, this solution would work: @asort1 = @f.map {|line| line.to_i}.sort HTH, Sebastian -- Jabber: sepp2k / jabber.org ICQ: 205544826