我一直在尝试一些Dir课程并遇到一些奇怪的事情。正如我在ruby-doc中读到的那样,字符串数组将按字母顺序排序。但是在打印名称时,顺序与字母顺序有点不同。这是代码:
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元素的类,它显示了字符串。 所以我的问题是 - 我在代码中排序/不正确或者只是不知道某些事情时做错了吗?
先谢谢你们。
答案 0 :(得分:0)
结果是预期的并且区分大小写。如果您不关心这些文件名的大小写,请执行以下操作:
Dir.foreach(Dir.pwd){|f| array.push(f.upcase)} # or downcase