我最近在一次调试会话中注意到,根据操作系统的不同,Dir.glob
(也称为Dir[]
)的行为会有所不同。具体地说,返回文件的顺序是不同的。
当你知道代码将被用于各种OSes时,在Ruby语言中使用Dir.glob
的推荐方法是什么?
示例区别:我在Linux和Windows中克隆了项目DeckSchrubber
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
我再一次询问解决方案和习惯用法,以确保输出是规范的。
发布于 2018-09-11 03:18:05
通常,FS库在Mac和Linux上的行为方式不同。我不认为windows是Ruby的平台。
因此,根据我的经验,只要添加一个条件运算符就足够了,它可以检查当前的平台名称,并以所需的方式对结果进行排序。据我所知,不同之处在于返回文件的顺序。
https://stackoverflow.com/questions/52263298
复制相似问题