Rubyで文字列と数字が混在している配列をソートする方法を教えてください


要素として文字列と数字が混在している配列があります。 これをすべて数字順に並べ替えたいのですが、どうしたらよいでしょうか？

たとえば、以下のような配列があったとします。

[code]

    ["123", 200, "12", 85]
    
[/code]

これを次のように並び替えたいです。

[code]

    ["12", 85, "123", 200]
    
[/code]




`sort_by`メソッドを使えばソートできますよ。

[code]

    ["123", 200, "12", 85].sort_by{|item| item.to_i} #=> ["12", 85, "123", 200]
    
[/code]

次のように書いても同じです。

[code]

    ["123", 200, "12", 85].sort_by(&:to_i) #=> ["12", 85, "123", 200]
    
[/code]




`sort_by`メソッドを使えばソートできますよ。

[code]

    ["123", 200, "12", 85].sort_by{|item| item.to_i} #=> ["12", 85, "123", 200]
    
[/code]

次のように書いても同じです。

[code]

    ["123", 200, "12", 85].sort_by(&:to_i) #=> ["12", 85, "123", 200]
    
[/code]

