まつもと ゆきひろです

In message "[ruby-list:12036] Re: to_i,to_s の素朴な疑問"
    on 99/02/12, HQss_YasuiS/hq_ss / omssv.hq.hitachizosen.co.jp <HQss_YasuiS/hq_ss / omssv.hq.hitachizosen.co.jp> writes:

|安井です。

|お話が混乱していませんか?。

私レベルでは混乱していません.安井さんの意図を読み違えている
可能性は否定しません.

|「文字列から数値への自動的変換」と「引数の多態性」がいつのまに
|かすりかわっているようですが。
|私がMatrixクラスを引合いに出したのは「引数の多態性」を言おうと
|したもので「文字列から数値への自動的変換」だけではありません。

数値クラス相互の変換については,数学的に定義可能ですし,実際
に coerce という変換の仕組みもありますし,相互変換について疑
問の余地はありません.しかし,文字列と数値の変換にはヒューリ
スティックな方法しかありえませんよね.

文字列に対してこれを許すとなると coerce と同程度の議論を経て,
変換システムを定義した場合にはそれを採用するにやぶさかではな
いですが,それだけ苦労して変換体系を用意しても,得られるのが
少々の便利さといくつかのバグの見逃しであるとするならば,意欲
も下がろうというのものです.

|しかし、結局、演算子の優先順位との絡みで仕様変更が困難であると
|の結論になりましたよね。

「優先順位」とはちょっと違うような.

|「自明」は「自然」という意味と捉えていいんでしょうか?
|「勝手に変換するな」とおっしゃる方がいらっしゃいますが「引数の
|多態性」を用いたメソッドの中で、明示的に変換するのですから、勝
|手に変換するというのは当たらないと思います。ただ、Rubyの場合、
|基本クラスで実装すると、インタプリタと1枚岩ですから、変換する
|コードがユーザから見えなくなる事実はあります。

そうそう,その「ユーザから見えなくなる」ことをして,「勝手に」
と称しています.

|まつもとさんはよくバグ混入を強調され、だから実現できないんだと
|おっしゃいますが、今回の問題だけに限定されることではないと思い
|ます。それは、変数に型を持たない言語共通の宿命みたいなものでは
|ないでしょうか。

肯定します.で,私の用意した境界が現状であるとご理解ください.

                                まつもと ゆきひろ /:|)