立石です。

Date: Sat, 22 May 1999 22:10:12 +0900
From: Koyama Hideo<fa8h-kym / asahi-net.or.jp>
fa8h-kym> hinname=Hash.new()
fa8h-kym> hin_cnt=Hash.new()
fa8h-kym> # 品名テーブル読み込み
fa8h-kym> hin=open("hin.txt","r")
fa8h-kym> hin.each_line do |line|
fa8h-kym>     f = line.chomp.split(/,/)
fa8h-kym>     hinname[f[0]]=f[3]  # 品名格納
fa8h-kym>     hin_cnt[f[0]]=0     # 件数初期化
fa8h-kym> end
fa8h-kym> hin.close
fa8h-kym> #  データ読み込み
fa8h-kym> inf=open("kd2.txt","r")
fa8h-kym> inf.each_line do |line|
fa8h-kym>     f = line.chomp.split(/,/)
fa8h-kym>     if f[5]= "9"   # ある項目が '9'のとき
fa8h-kym>         hin_cnt[f[7]]+=1   # カウント
fa8h-kym>     end
fa8h-kym> end
fa8h-kym> inf.close
fa8h-kym> #  結果出力
fa8h-kym> $,=","

fa8h-kym> hinname.each_key do | hinno |
fa8h-kym>      print hinno,hinname[hinno],hin_cnt[hinno],"\n"
fa8h-kym> end

fa8h-kym> 結果を出力するときに hinnoでソートする方法が
fa8h-kym> ちょっと分からなかったのですがどなたかに御教示いただけると
fa8h-kym> 助かります。

このソースをあまり変更せずに行なうのであれば
hinname.keys.sort.each{|hinno|
  print hinno,hinname[hinno],hin_cnt[hinno],"\n"
}
とするのはいかがでしょうか?


他の方法だと、
a1 = {'hinno' => num1, 'hinname' => name1, 'hin_cnt' => cnt1}
a2 = {'hinno' => num2, 'hinname' => name2, 'hin_cnt' => cnt2}
....
というようなhashなどでそれぞれの項目を格納しておいて

ary = [a1,a2,....]
ary.sort!{|x,y| x['hinno'] <=> y['hinno']}

とやると個人的にスマートではないかとおもいますがいかがでしょうか?

;; あくまで主観なんですが、、、、(^^;

ちなみに sort! のブロックでsortにおける順序付けを行なうため
の式を書いています。