επιστημηさんのBlog東方算程譚にちょっとした問題のC++版、C#版があったのでRuby版を。
#学籍番号と得点(成績)の組: #record (7, 345), (8, 678), (1, 123), ... # #それと学籍番号の列: #target { 4, 5, 3, 1, 2 }; # #があるとき、targetを得点順にソートせよ。 master = [ [7, 345], [8, 678], [1, 123], [2, 456], [5, 567], [6, 812], [3, 781], [4, 234] ] record = {} master.each { |data| record[data[0]] = data[1] } target = [4, 5, 3, 1, 2] target.sort { |a, b| record[a] <=> record[b] }.each { |id| puts "#{id}/#{record[id]}" }