puts Dir.glob("/home/files/*.jpg").sort
сработало бы, если бы у вас был формат вроде 11-09-22-05.jpg
вместо 9-22-11-5.jpg
.Вместо этого вы можете попытаться отсортировать их по числу.
Dir.glob("/home/files/*.jpg").sort_by {|s| s.gsub("-","").to_i }
Но так как у вас есть номер месяца-года-года, я думаю, что правильный способ сортировки немного сложнее, чем этот.
arr=%w[9-22-12-33.jpg 9-22-11-5.jpg 9-22-10-99.jpg 12-24-11-1.jpg]
arr.sort_by do |s|
t = s.split("-").map(&:to_i)
[t[2], t[0], t[1], t[3]]
end
Работает путем переформатирования 9-22-11-5.jpg
в массив, содержащий [11, 9, 22, 5]
, а затем сортирует по нему.