> そうですね.本当はこーゆーのが ruby-list の本来の形ですね.
 > ruby-dev ができて若干難しい話が減りましたけど,学ぶ場にはま
 > だなっていませんものね.

でしょでしょ。皆さんももっと見せあっこしましょう。

 > 素晴らしい出来です.若干コメントすると:

わーい。

 >   * Hash.newは{}の方がrubyらしいかな

なるほどたしかに。さすがに配列の方は Array.new とはしなかったわけで。
# おもわずこうしてしまったのは Java の影響かなあ。

 >   * def date; @date endなどはattr :dateの方がrubyらしい?

これは知りませんでした。こんなふうに書かなきゃいけないのはおかしいと
おもいつつ。でもドキュメントのどこを読めばよかったのだろう…。

ところで、複数をまとめて
  attr :date :time :process_name
のようには書けないのですね。そういうものではない??

……それから、ぜんぶ attr :... に置き換えてみたところ動かなくなって
しまいました。調べてみたところ class SyslogSendmail の
    def id; @id end
だけは、「attr :id」にしちゃまずいようです。
syslog-delay-stat.rb:228:in `+': NameError:undefined method `coerce' for ": "(String)
となってしまいます。228 行目は
	    STDERR.print r.id + ": " + r.time + "\n"となっています。

「def ...; @... end」「attr :...」の両者はまったく同じ意味というわけで
はないのでしょうか?

 > * createで適切なクラスの生成を行っている部分が若干不自然な
 >     気がする.どうするのが良いのかぱっと思いつきませんが.

これは ruby の問題というよりデザインパターンの問題でしょうか。

ruby だと new を再定義できるのでそれを使うということも考えたのですが、
Syslog.new したのにそのサブクラスの SyslogSendmail のインスタンスが
返されるというのもどうかとおもいまして…。

高木 浩光@名古屋工業大学
http://www.center.nitech.ac.jp/~takagi/