From: HQss_YasuiS/hq_ss@... Date: 1999-02-08T16:47:54+09:00 Subject: [ruby-list:11980] Re: to_i,to_s の素朴な疑問 安井です。 ご返事が遅くなりました。 折角ご忠告を頂いたので遅れ馳せながらご返事申し上げます。 >井上%といいます。 > ># 自分では,自分は保守的でないと思ってます :-) そうですか。それは結構なことです。 >皆さんがおっしゃっていることの繰り返しになりますが... > >例えば,非常に多くの人は,`+'演算子に対して,「きっと,これは対称的で >推移的なんじゃないかな」と期待してしまうんじゃないでしょうか? その通りです。私もそう思います。 >ところが,何人かの方が示されているように,「演算子形式のメソッド」の引 >数に多態性を認めてしまうと,`+'演算子が対称的かどうかとか,推移的かど >うかとか,いちいち調べなきゃならなくなっちゃいます。 >これは,とても大きなデメリットだと思いますよ? まったくその通りです。私の主張と全く違和感ありません。 わたしが主張しているのは 「数値」を表す「文字列」は、「数値」として扱ってあげましょうよ。 ということです。自然な考えであり、何も違和感は生じないのではないでしょうか? >特に,他人のコードを読まなきゃいけない時には,演算子形式のメソッドが多 >態的に振る舞うことは,悪夢にも思えてくるでしょう。 >そんな時に,見た目エレガントな気がするコードが書いてあったとして,いっ >たいどんなメリットがあり得るでしょう? 他人の書いたスパゲッティコードを読まされる立場には同情の念を禁じ得ません。 私の言った「エレガント」は、分かり易いとか、スマートとか、合理的とか を含めて言ったもので、決して不愉快を与えるつもりはありません。 >「使い方や変数名の付け方に注意すればよい」との,安井さんの主張を否定す >ることは,私にはできません。 >が,「演算子の効果をコード中で際立たせるために」,そんなところで気を使 >うくらいなら,私は,演算子の多態性を利用しないようにコードを書くでしょ >う。 はい。ご自分に合った流儀でご自由にコーディングなさって下さい。それは 貴方の自由ですから。私の意見は無視して下さって結構です。 私は何も現在の仕様を「変更」したり「削除」したりして欲しいと言っている のではありません。1つ簡単な機能を追加して下さいと言っているのです。 to_sもto_iも変わりません。そのままです。 ># 一般論としての,「メソッドの使い方や,変数名の付け方には,注意が必要 ># である」ということについては,私は大賛成です ># でも,それには,もっと本質的な理由があるのであって,演算子の多態性云々 ># とは,違う次元の話だと思います はい。次元が違う話です。 えーそれはですね、以前のレスでどなたかが「人が書いたスクリプトを読む場合 は必ずしもレシーバの型が明白に分かるとは限らないので、文字列の演算か数値 の演算か明示した方が読みやすい」のではとおっしゃったので、名前の付け方で ある程度回避できますよね、と言った覚えがあります。 >失礼ながら,安井さんは,C++ 言語のオペレータ・オーバローディング機能に >対する批判や議論などをご存知の上で,主張を展開されておられますか? >もし,ご存知でないならば,ぜひ資料にあたられることをお勧めします。 ご忠告に感謝します。しかし、別レスでも申し上げましたがぷらぷらは嫌いです。 どーでもいいことですが、私が初めてぷらぷらにお目にかかったのは約10年前 でした。確か、ぷらぷら開発者の翻訳本がはじめて出た頃だったと思います。 これとは別本ですが一通りざーと見てみてこりゃいかんわと思い、以来、G++で フリーソフトをコンパールすること以外、ほとんど縁がありません。 それまでに、Smalltalk/V を少しかじりかけていたので、ぷらぷらは危険な言語だ と感じました。またCの延長で考えるのは非常に危険だと感じました(当然ですが)。 したがって、ぷらぷらに対する批判や議論は知りません(知りたいとも思わない)。 よって、今までの私の議論はぷらぷらをベースにしたものではないことをお断り しておきます。 - - - - - - 安井@日立造船 e-mail: yasuisu@omssv.hq.hitachizosen.co.jp