我已經得到了我的價值從閱讀並放入數組中的文件,這樣我就可以對它們進行排序:紅寶石的整數字符串數組排序順序
input.txt中
#75 - Hamilton Ave.
#12A - Long Road
#12B - Long Road
#120 - Curvy Road
我紅寶石:
result = []
file = open("input.txt").each do | line |
result << line
end
puts result.sort_by {|x| x.to_i}.reverse
我想按字符串中的整數值進行排序。然而,爲了出來爲:
#12A - Long Road
#12B - Long Road
#120 - Curvy Road
#75 - Hamilton Ave.
相反的:
#12A - Long Road
#12B - Long Road
#75 - Hamilton Ave.
#120 - Curvy Road
我應該使用某種形式的正則表達式的排序時EVAL字符串?
「#」是每行的第一個字符嗎?如果沒有,你應該編輯出來。 '「#123anything」'將始終爲零。 –
是的,它是字符串的一部分 – porterhaus
然後你想'result.sort_by {| x | X [1 ..- 1] .to_i} .reverse'。例如'「#74 - Hamilton Ave。」[1 ..- 1]#=>「74 - Hamilton Ave.」。 –