我在 S3 存储桶中有几百张图像,我将它们写入一个数组,并希望它们按字母顺序排序和显示。图像都以相同的模式开始
#1 <some name>.jpg
#2 <some name>.jpg
...
#10 <some name>.jpg
#11 <some name>.jpg
...
使用后
@images.each do |image|
@image[i] = image.url_for(:read).to_s
i = i + 1
end
@image.sort
但是,@image 数组是这样排序的:
<s3 bucket URL>/#1 <some name>.jpg
<s3 bucket URL>/#10 <some name>.jpg
<s3 bucket URL>/#11 <some name>.jpg
...
<s3 bucket URL>/#2 <some name>.jpg
<s3 bucket URL>/#20 <some name>.jpg
<s3 bucket URL>/#21 <some name>.jpg
...
据我了解,“字母表”和排序应该排序 #1、#2、#3 等,但似乎并非如此。显然,我希望它以这种方式排序:
<s3 bucket URL>/#1 <some name>.jpg
<s3 bucket URL>/#2 <some name>.jpg
<s3 bucket URL>/#3 <some name>.jpg
...
<s3 bucket URL>/#10 <some name>.jpg
<s3 bucket URL>/#11 <some name>.jpg
<s3 bucket URL>/#12 <some name>.jpg
...
在这种情况下,我怎么能用排序算法来达到这个目的?谢谢你的帮助。