Я недавно заметил во время сеанса отладки, что Dir.glob
(он же Dir[]
) ведет себя по-разному в зависимости от ОС.В частности, порядок, в котором возвращаются файлы, отличается.
Каковы рекомендуемые способы использования Dir.glob
в Ruby, если известно, что код будет использоваться в различных ОС?
Пример разницы: Я клонировал проект DeckSchrubber в Linux и Windows
Windows:
irb(main):003:0> puts Dir['./*']
./CHANGELOG.md
./LICENSE
./main.go
./README.md
./types.go
./util
=> nil
Linux:
irb(main):011:0> puts Dir['./*']
./main.go
./LICENSE
./util
./types.go
./README.md
./CHANGELOG.md
=> nil
Еще раз прошурешения и идиомы, обеспечивающие каноничность вывода.