まつもと ゆきひろです

In message "[ruby-list:21159] メソッドの入り口"
    on 00/03/03, ogino / coop.nagoya-u.ac.jp <ogino / coop.nagoya-u.ac.jp> writes:

|他人とか一年後の自分とかが使うことを想定するクラスなどでメソッドの入り
|口で引数のチェックとかはどうするのが良いのでしょうか?
|
|ぱっと思いつくところで、
|
|1) オブジェクトの型が想定しているものと違うかもしれない
|2) インスタンス変数へ代入するときはコピーをつくるべきか
|3) メソッドの実行中に別スレッド中でオブジェクトが変化するかも
|
|などの問題があると思うのですが。

1は必要なメソッドを持つかどうかでチェックし、クラスでのチェッ
クは行わない方が良いのではないかというのが私の考えです。つ
まり、ほとんどの場合、あるクラスのサブクラスである必要より
も、ある名称(と機能)を持つメソッドが呼べるかで決まるように
思うからです。そういうメソッドが無ければNameErrorが出るので
分かると。

2,3は場合によると思います。