[#7356] Q: jcode.rb tr(String + nil) — WATANABE Tetsuya <tetsu@...>

ruby-1.1b9_08 (07 からみたいですが)での話です。

15 messages 1998/04/08
[#7358] Re: Q: jcode.rb tr(String + nil) — matz@... (Yukihiro Matsumoto) 1998/04/08

まつもと ゆきひろです

[#7376] [Q] Thread — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

19 messages 1998/04/08
[#7384] Re: [Q] Thread — keiju@... (Keiju ISHITSUKA) 1998/04/09

けいじゅ@日本ラショナルソフトウェアです.

[#7385] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1998/04/09

まつもと ゆきひろです

[#7391] Re: [Q] Thread — keiju@... (石塚圭樹 ) 1998/04/09

けいじゅ@日本ラショナルソフトウェアです.

[#7471] scope — Wakou Aoyama <wakou@...>

青山です。

22 messages 1998/04/15
[#7474] Re: scope — WATANABE Hirofumi <watanabe@...> 1998/04/15

わたなべです.

[#7475] Re: scope — Wakou Aoyama <wakou@...> 1998/04/15

青山です。

[#7500] List on List — WATANABE Hirofumi <watanabe@...>

わたなべです.

26 messages 1998/04/15
[#7501] Re: List on List — matz@... (Yukihiro Matsumoto) 1998/04/15

まつもと ゆきひろです

[#7509] クラスの変更 — Mitsuru Ogino <ogino@...>

荻野といいます。すみませんが、ご指導ください。プログラミング初心者です。

13 messages 1998/04/15

[#7591] How to write Perl's `@a[@b] = @c' in ruby — Inaba Hiroto <inaba@...>

えーと、既に「Perlのmapをrubyでどう書くか」という話題がで出てしまった

29 messages 1998/04/16
[#7601] Re: How to write Perl's `@a[@b] = @c' in ruby — WATANABE Hirofumi <watanabe@...> 1998/04/17

わたなべです.

[#7614] Re: How to write Perl's `@a[@b] = @c' in ruby — Shin-ichiro HARA <sinara@...> 1998/04/17

原です。

[#7626] Re: How to write Perl's `@a[@b] = @c' in ruby — Inaba Hiroto <inaba@...> 1998/04/19

From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>

[#7628] Re: How to write Perl's `@a[@b] = @c' in ruby — Shin-ichiro Hara <sinara@...> 1998/04/19

原です。

[#7659] iteration with index (Re: How to write Perl's `@a[@b] = @c' in ruby) — shugo@... (Shugo Maeda) 1998/04/20

前田です。

[#7671] How to install beta versions — Shin-ichiro HARA <sinara@...>

原です。

32 messages 1998/04/21
[#7672] Re: How to install beta versions — matz@... (Yukihiro Matsumoto) 1998/04/21

まつもと ゆきひろです

[#7674] Re: How to install beta versions — WATANABE Hirofumi <watanabe@...> 1998/04/21

わたなべです.

[#7675] Re: How to install beta versions — WATANABE Tetsuya <tetsu@...> 1998/04/21

>>>>> "W" == WATANABE Hirofumi <watanabe@ase.ptg.sony.co.jp> writes:

[#7677] Re: How to install beta versions — Shin-ichiro HARA <sinara@...> 1998/04/21

原です。

[#7679] Re: How to install beta versions — WATANABE Hirofumi <watanabe@...> 1998/04/21

わたなべです.

[#7690] Re: How to install beta versions — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...> 1998/04/21

From: WATANABE Hirofumi <watanabe@ase.ptg.sony.co.jp>

[#7700] Re: How to install beta versions — matz@... (Yukihiro Matsumoto) 1998/04/22

まつもと ゆきひろです

[#7710] Re: How to install beta versions — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...> 1998/04/22

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#7711] Re: How to install beta versions — matz@... (Yukihiro Matsumoto) 1998/04/22

まつもと ゆきひろです

[#7720] Re: How to install beta versions — chisaka@... 1998/04/23

[#7721] Re: How to install beta versions — matz@... (Yukihiro Matsumoto) 1998/04/24

まつもと ゆきひろです

[#7724] Re: How to install beta versions — NAGAI Hidetoshi <nagai@...> 1998/04/25

永井@知能.九工大です.

[#7729] mail index sort by From: — Kikutani Makoto <kikutani@...>

きくたにです。

27 messages 1998/04/26
[#7730] mail index sort by From: — gotoken@... (GOTO Kentaro) 1998/04/26

ごとけんです

[#7738] Re: mail index sort by From: — Kikutani Makoto <kikutani@...> 1998/04/27

きくたにです。

[#7757] Re: mail index sort by From: — gotoken@... (GOTO Kentaro) 1998/04/28

ごとけんです

[#7758] Re: mail index sort by From: — akira yamada / やまだあきら <akira@...> 1998/04/28

[#7760] Re: mail index sort by From: — gotoken@... (GOTO Kentaro) 1998/04/28

ごとけんです

[ruby-list:7738] Re: mail index sort by From:

From: Kikutani Makoto <kikutani@...>
Date: 1998-04-27 05:05:55 UTC
List: ruby-list #7738
きくたにです。

Mon, Apr 27, 1998 at 06:23:21AM +0900 において
GOTO Kentaro さん曰く:

> $froms.sort ではなく、こんな感じでどうでしょう? 
> 
> sorted_mails = $mails.sort{|i,j|
>   i['From'] <=> j['From']
> }

なるほど。ありがとうございます。
最初 $mails はスプール内容を全部持っているでかい配列なので、
全体をソートするのはコストが高いかなと思ってたのですが、
実際には十分速いですね。あと、「ソートしない(スプールへの到着順)」
というのもあるので、元のを取っておきたかったのですが、
最初に読みこんだのは mails_nosort というところに取っておくことに
して解決しました。

MailFolderクラスのソートメソッドはこうしました。

  def sort_by(f)
    if f == 'no_sort'
      @mails = @mails_nosort # dupしなくていんだろうか?
    else
      @mails = @mails_nosort.sort{|i,j|
        if f == 'Subject'
          si = i.header[f]
          si = '' unless si
          sj = j.header[f]
          sj = '' unless sj
          si.kconv($lang) <=> sj.kconv($lang)
        elsif f == 'Date'
          y, mo, d , wd, h, mi = parsedate(i.header[f])
          y += 1900 if y < 100
          ni  = sprintf("%4d%02d%02d%02d%02d\n", y, mo, d, h, mi)
          y, mo, d , wd, h, mi = parsedate(j.header[f])
          y += 1900 if y < 100
          nj  = sprintf("%4d%02d%02d%02d%02d\n", y, mo, d, h, mi)
          ni <=> nj
        else
          i.header[f] <=> j.header[f]
        end
      }
    end
  end

日付けのあたりがダサいですねえ。もっとうまい方法はないですか?
最近気付いたのですが、Date:フィールドの年が 「98」 としかないのが
けっこうあるので、上のように補正が必要です。

> もっとも、Subject の中に構造を持たせてるような場合は
> 汎用のものは難しそうですね。

そうですね。上のようにMIMEあたりはkconvにまかせてよしとします。

あとはスレッド分けか。
以前やまださんかどなたかがメールのスレッド分けについて書いて
おられた気がしますが、どこかに例がありますか?

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani@gol.com
                          kikutani@debian.or.jp (Linux関係のみ) 

In This Thread