gpt4 book ai didi

ruby - 抓取目录中具有特定扩展名的所有文件,而不管扩展名大小写(不区分大小写的扩展名)Ruby

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:25 24 4
gpt4 key购买 nike

在 Ruby 中,无论扩展大小写如何,获取目录中具有特定扩展名的所有文件的正确方法是什么?

例如,假设我有目录~/myDir,它有文件file1.JPGfile2.jpg noFile.pngfile3.jpg。我只想抓取 jpg 文件。我正在使用:

results = Dir[File.join(Dir.home, 'myDir', '*.jpg')].sort

但是这离开了 file1

我不想要像单独检查文件并在检查前强制每个文件大写这样的骇人听闻的解决方案。我绝对不想要像抓取扩展名为 JPGJPgJpgjpgjpGjPG

如果支持的版本不向后兼容旧版本,请在您的答案中包含它。我在 1.9.3 但其他人可能不是。

最佳答案

我们可以使用 Dir.glob 并将它传递给 File::FNM_CASEFOLD 作为第二个参数,告诉它忽略大小写。所以这给了我们:

Dir.glob(File.join(Dir.home, 'myDir', "*.jpg"), File::FNM_CASEFOLD).sort

我在 this post 中找到了这个解决方案Derick Bailey 谈论 this post 的地方.

我不确定它是否适用于所有版本,但如果有人知道请告诉我,我会在这里更新。这篇文章最后一个链接中的 Trans 似乎并不总是支持“文档说‘(so+File::FNM_CASEFOLD+ is ignored)’”。

关于ruby - 抓取目录中具有特定扩展名的所有文件,而不管扩展名大小写(不区分大小写的扩展名)Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21688855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com