使用Ruby的Dir.glob时,多个操作系统一致性的最佳实践?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (66)

我最近在调试会话期间注意到Dir.glob(aka Dir[])根据操作系统的不同而行为不同。

Dir.glob当您知道代码将在各种操作系统上使用时,建议在Ruby中使用哪些方法。

示例差异:我在Linux和Windows中克隆了DeckSchrubber项目

视窗:

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
提问于
用户回答回答于

通常,FS库在Mac和Linux上的行为方式不同。我不认为windows是Ruby的平台。

因此,根据我的经验,只需添加条件运算符即可检查当前平台名称,并按要求的方式对结果进行排序。据我记忆,差异在于返回文件的顺序。

扫码关注云+社区

领取腾讯云代金券