Hatena::Grouphackerscafe

yuisekiの日記

 | 

2008-10-14

曜日順にソート

18:28 | 曜日順にソート - yuisekiの日記 を含むブックマーク はてなブックマーク - 曜日順にソート - yuisekiの日記 曜日順にソート - yuisekiの日記 のブックマークコメント

配列などで、曜日がStringクラスで入っているときにsortするとアルファベット順になってしまう。

caseなどでちまちま条件判定してたら発狂するわーとおもったら、rubyには曜日名を配列として持った定数があるらしい。

英語省略形のばあいは、Date::ABBR_DAYNAMES。

これをつかってループすればなんとかソートできそうだ。

require 'date'
week = [[13,"Sun"],[24,"Mon"],[],[],[],[],[]]
dayofweek = Date::ABBR_DAYNAMES
sort_week=[]
0.upto(6) do |i|
  week.each do |elem|
    sort_week[i] = elem if elem[1] === dayofweek[i]
  end
end

こんなかんじ??

 |