安井です。 >このつながりが良く分かりません.Matrixクラスには数値を表す文 >字列を数値として扱う機能は含まれていないと思います.また,確 おっしゃる通り、Matrixクラスには数値を表す文字列を数値として扱 う機能は含まれておりません。 >かに石塚さんは Smalltalk由来の提案を(いや,そうでないものも) >以前からいろいろしていただいていますが,そもそもSmalltalkに >は,安井さんのおっしゃるような文字列から数値への自動的な変換 >という機能は存在しないので,どう考えても お話が混乱していませんか?。 「文字列から数値への自動的変換」と「引数の多態性」がいつのまに かすりかわっているようですが。 私がMatrixクラスを引合いに出したのは「引数の多態性」を言おうと したもので「文字列から数値への自動的変換」だけではありません。 そういう意味で、メソッドに「引数の多態性」を持つクラスの実装が 添付ライブラリの中に見受けられますね、と言いたかったのです。そ して、それらと「文字列から数値への自動的変換」に纏わる問題とど う違うんでしょうかと問いかけたのでした。 しかし、結局、演算子の優先順位との絡みで仕様変更が困難であると の結論になりましたよね。 >っていうのはやや攻撃的な印象を受けます.そのつもりはないので 攻撃的な印象を与えてしまったのなら誤ります。そんなつもりは全然 ありません。m(__)m >圭樹さん、ほか # 文字って感情表現が難しいなあ。 >しょうけど.おそらく安井さんのおっしゃるのは「数値を表す文字 >列や数値を表しているのは自明だから,変換するのは必然である」 >という観点に立って「勝手に変換なんかしてない」とおっしゃって >いるのだと思いますが,私たちは「自明ではない」と考えているの >です.それは数値のように見えるが数値でないデータが存在すると 「自明」は「自然」という意味と捉えていいんでしょうか? 「勝手に変換するな」とおっしゃる方がいらっしゃいますが「引数の 多態性」を用いたメソッドの中で、明示的に変換するのですから、勝 手に変換するというのは当たらないと思います。ただ、Rubyの場合、 基本クラスで実装すると、インタプリタと1枚岩ですから、変換する コードがユーザから見えなくなる事実はあります。 >いうことでもあり,数値に相当する文字列が入っているはずの変数 >に実際にはそうでないものが入り込んでしまうバグが相当多いとい >うことでもあります. まつもとさんはよくバグ混入を強調され、だから実現できないんだと おっしゃいますが、今回の問題だけに限定されることではないと思い ます。それは、変数に型を持たない言語共通の宿命みたいなものでは ないでしょうか。 >この表現は「逆の仕様変更で,結構バグが見つかった」すなわち >「もう一度昔の仕様に戻したらたくさんのバグが見つからなくなる」 >ということを意味しているんですけど.それは私は望ましい事態だ >とは思いません.人間がいつも式の値を確実に把握できるんなら便 >利さを優先できると思いますが,少なくとも私は間違いやすいんで, >便利さよりバグ発見を優先します. もう決着した話なのでこれ以上まつもとさんと議論するつもりはあり ませんが、「便利さ」と「バグ発見の困難さ」は、両刃の剣のような もので、どこで妥協するかにかかってきます。結局、最後は責任者の 判断に委ねるしかない訳ですね。 ------- yasuisu / omssv.hq.hitachizosen.co.jp