gpt4 book ai didi

ruby - 为什么 Ruby 似乎随机访问目录中的文件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:46 25 4
gpt4 key购买 nike

这是设计使然吗?

代码如下:

class FileRenamer
def RenameFiles(folder_path)
files = Dir.glob(folder_path + "/*")
end
end

puts "Renaming files..."

renamer = FileRenamer.new()
files = renamer.RenameFiles("/home/papuccino1/Desktop/Test")
puts files

puts "Renaming complete."

获取文件的顺序似乎是随机的,而不是它们在 Nautilus 中显示的那样。

enter image description here

这是设计使然吗?我只是好奇。

最佳答案

每次在特定操作系统上的顺序都应该相同,但它在不同操作系统之间是不同的。

不能相信行为或 Dir.glob 在不同的操作系统中是相同的。不确定这是否是设计使然,而是文件系统的产物。

在 Windows 和 Linux 上,结果按层次结构排序,然后按字母顺序排序;在 Mac OS X 上,结果按字母顺序排序。

您可以通过对结果调用排序来减轻影响,例如:

files = Dir.glob("./*").sort

或者如果您希望它不区分大小写,也许:

 files = Dir.glob("./*").sort {|a,b| a.upcase <=> b.upcase}

关于ruby - 为什么 Ruby 似乎随机访问目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529895/

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