Eu sei que não é a resposta que você está procurando, mas acredito que a solução correta é evitar dependendo da ordem dos arquivos em um diretório. Talvez seja sempre consistente em todos os sistemas de arquivos HFS +, e talvez você possa encontrar uma maneira de torná-lo consistente no ext4 ou em algum outro sistema de arquivos, mas custará mais problemas a longo prazo do que economizará. Alguém que usa seu aplicativo terá uma surpresa desagradável quando não perceber que é compatível apenas com alguns tipos de sistemas de arquivos e não com outros. A ordem pode mudar se um sistema de arquivos for restaurado a partir do backup. Você provavelmente terá problemas de compatibilidade porque a ordem consistente do HFS + e a ordem consistente do ext4 podem não ser as mesmas.
Basta ler todas as entradas de diretório e classificar a lista lexicograficamente antes de usá-la. Assim como ls
faz.
Você menciona os arquivos a.rb
e b.rb
, mas se estamos falando de arquivos de origem de linguagem de programação, cada arquivo já não deve ser responsável por garantir que ele importe todas as suas dependências?