03:24 pm
Приснился мне недавно странный сон. Нет-нет, не обычный ("кровь-кишки-кровища") кошмар, а нечто, что не потеряло смысл после пробуждения. Просыпаюсь я, значится, с чуством полной уверенности, что широкоизвестную функцию strnatcmp(), которой реализуется идея «правильной» сортировки строк, во сне кто-то по моему bug report'у пропатчил на тему хитрой фичи.
Итак, фича: сортировать некоторый, заданный внешне (локалью) набор подстрок (месяцы, дни недели etc) в фиксированном порядке; в остальных случаях — поступать, как и раньше. А то грустно и неHIGово смотреть, как Nautilus сортирует каталоги с именами, включающими в себя строчные названия месяца (разумеется, "август", потом "апрель", потом "декабрь"...)
Уже проснувшись, додумался до ещё одного варианта извращения сортировать подстроки, похожие на доменные имена (foo1.foo2.foo3.TLD), э-э... с конца. То есть, в виде TLD.foo3.foo2.foo1 (список TLD всё равно изменяется реже, чем выходят минорные версии glibc).
Итак, фича: сортировать некоторый, заданный внешне (локалью) набор подстрок (месяцы, дни недели etc) в фиксированном порядке; в остальных случаях — поступать, как и раньше. А то грустно и неHIGово смотреть, как Nautilus сортирует каталоги с именами, включающими в себя строчные названия месяца (разумеется, "август", потом "апрель", потом "декабрь"...)
Уже проснувшись, додумался до ещё одного варианта извращения сортировать подстроки, похожие на доменные имена (foo1.foo2.foo3.TLD), э-э... с конца. То есть, в виде TLD.foo3.foo2.foo1 (список TLD всё равно изменяется реже, чем выходят минорные версии glibc).