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

In [ruby-list :03854 ] the message: "[ruby-list:3854] Re:
SyslogSendmail class ", on Aug/27 14:33(JST) matz / netlab.co.jp
(Yukihiro Matsumoto) writes:

>まつもと ゆきひろです

>|  attr [:date, TRUE], [:time], [:process_name, TRUE]
>むむむ….それよりは

>  attr :date, :time, :process_name, TRUE
>の方がまだましですねえ.

それは駄目じゃないですか?

  attr :date, :time, :process_name

はどう解釈します? 末尾のオプションは, TRUEに限るってするわけにも行きま
せんよね?

>|仕様? バグに限りなく近いと思うんですけど...
>
>そうでもないんです.たとえば
>
>  def foo
>    do_something
>    @foo
>  end
>  attr :foo
>
>とした場合にfooを再定義しちゃまずいでしょ.

うーん. この場合再定義すると消えてしまうからですね...

>今後は「そのクラスで」メソッドが定義されていなければ再定義と
>言う仕様でどうでしょう.

うーん. でも, 上のを再定義しちゃまずいっていうなら, この場合でも嬉しく
ないかも...

class Foo
  def foo
    ...
  end
end

class Bar < Foo
  attr :foo
end

で, なくなってしまうんですよねえ...

# 実は結構微妙な問題だったんですね...

やはり, 同じクラスの場合:

>  def foo
>    do_something
>    @foo
>  end
>  attr :foo

でも, 再定義してしまった方がすっきりするような...

  def foo
    do_something
    @foo
  end
  def foo
    do_something2
    @foo
  end

の場合なんかは当然上書きしてしまうんだし...

>|># でもやっぱりidは名前を変えた方が良いかも.
>|変えた方がいいような気もしますが... 結構使っているからなあ... 変える場
>|合でも, とりあえず, idはaliasで残して頂いてもらうと嬉しいなぁ.
>
>これは高木さんのプログラムで id を名前を変えた方が良いかも,
>というつもりだったんです.Object#idを変えるつもりは無いです.

おお. 失礼しました(__;;;

# でも Object#id は, 仕様頻度の割りに結構図々しい名前のような気がして
# いる... 

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju / bc.mbn.or.jp <<---