文件的默认字母排序名称



我一直在尝试一些Dir类,遇到了一些奇怪的事情。正如我在ruby文档中所读到的,字符串数组将按字母顺序排序。但在打印姓名时,顺序与字母顺序有点不同。这是代码:

array = []
Dir.foreach(Dir.pwd){|f| array.push(f)}
puts array.sort!

结果:

File_class_test.rb
File_reading_test.rb
File_reading_test.rb~
Rule_them.txt
Shoes_test.rb
Summarize.rb
Text_analyzer.rb
file_rename.rb
file_rename.rb~
path.rb
path.rb~
test.txt

我还检查了f元素的类,它显示了字符串。所以我有一个问题——我是在排序上做错了什么/代码中不正确,还是只是不知道一些事情?

提前感谢各位。

结果是预期的,并且区分大小写。如果你不在乎这些文件名的大小写,只需执行以下操作:

Dir.foreach(Dir.pwd){|f| array.push(f.upcase)} # or downcase

最新更新