In article <87ljtne26l.fsf / fsij.org>,
  Tanaka Akira <akr / fsij.org> writes:

> あー、to_str はやめて、受け付けるほうで処理することに変えて
> しまいました。
>
> sockaddr を文字列の引数として扱うことは少なそうだし、もし
> TCPSocket.new の引数とかに使えるようにすると文字列との区別が
> 問題になるので。また、to_str は引数として表れたケースしか扱
> えませんし、あんまり使わない気がします。
>
> それでもつけたほうがいいですかね?

いろいろと考えて、さらに今日、対面で相談したりして、結局
to_s をつけることにしました。

つまり、(Socket::Option も入れたので)
* AddrInfo#to_s を AddrInfo#to_sockaddr と、
* Socket::Option#to_s を Socket::Option#data と
同じ意味とします。

これは、1.9.1 以前と 1.9.2 以降で、返り値が String か
AddrInfo (Socket::Option) か異なるわけですが、変更後のクラス
で to_s が以前の値を返せば、to_s さえ呼べばどちらのバージョ
ンかを判断することなしに以前の String な値が得られるからです。

もちろん、to_str でそうする、という可能性も考えられるのです
が、Exception#to_str でいろいろと対称性などの問題が出たこと
を考えると、to_s のほうがマシだろうということで、to_s を使う
ことにしました。
-- 
[田中 哲][たなか あきら][Tanaka Akira]