ruby-on-rails – Ruby有一个natural_sort_by方法吗?

我有一系列属性文件列表.其中一个属性文件名,我想如何排序列表.但是,列表如下:filename 1,filename 2,filename 10,filename 20.

ruby sort_by方法产生:

files = files.sort_by { |file| file.name }
=> [filename 1,filename 20]

我想要一个更可读的列表,如文件名1,文件名2,文件名10,文件名20

我发现了natural_sort宝石,但似乎只能像排序方法一样工作.我需要一些可以指定排序数组的东西.

任何帮助?

解决方法

只要文件总是命名为“file#”,你可以这样做

files.sort_by {| F | f.name.split(“”)[1] .to_i}

这样就分开了空格,并且抓住数字进行排序.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...