我想第一个数组进行排序:Ruby - 如何使用sort_by对另一个数组排序一个数组?
filenames = ["z.pdf", "z.txt", "a.pdf", "z.rf", "a.rf","a.txt", "z.html", "a.html"]
通过以下文件的扩展阵列:
extensions = ["html", "txt", "pdf", "rf"]
使用sort_by
。但是,当我尝试:
filenames.sort_by { |x| extensions.index x.split('.')[1] }
我得到:
["a.html", "z.html", "z.txt", "a.txt", "a.pdf", "z.pdf", "z.rf", "a.rf"]
扩展名为 “TXT” 和 “RF” 的文件名进行排序。我试图找出sort_by
如何通过使用元组来排序,但一直未能找到sort_by
的源代码。
如何使用sort_by
来排列其他阵列中的一个阵列?
编辑:
结果应该是这样的:
["a.html", "z.html", "a.txt", "z.txt", "a.pdf", "z.pdf", "a.rf", "z.rf"]
“请使用Ruby的内置文件类此”?你的意思就像我的回答? –