rubyで順序文字列のソート
なんか最近Rubyでプログラムしてないので、Ruby力が落ちてるようなw;
まあ、ちょっとヤボ用で
n行がセット、n×m行の文字列をソートするスクリプト
書いたいので貼っつけておく*1。
str =<<EOS Name1 Age9 Score7 Name2 Age2 Score1000 Name3 Age8 Score100 EOS str = str.split("\n") ary = [] until str.empty? ary << str[0..2]; str = str[3..-1] end require 'pp' #Ageでsort pp ary.sort{|a,b| a[1] <=> b[1]} #=> [["Name2", "Age2", "Score1000"], # ["Name3", "Age8", "Score100"], # ["Name1", "Age9", "Score7"]] #Scoreでsort pp ary.sort{|a,b| a[2].sub("Score",'').to_i <=> b[2].sub("Score",'').to_i} #=> [["Name1", "Age9", "Score7"], # ["Name3", "Age8", "Score100"], # ["Name2", "Age2", "Score1000"]]
やっぱりRubyは、配列の分割とか、ソートとか、楽だな^^