From: matz@... (Yukihiro Matsumoto) Date: 1999-02-06T02:29:38+09:00 Subject: [ruby-list:11965] Re: to_i,to_s の素朴な疑問 まつもと ゆきひろです In message "[ruby-list:11955] Re: to_i,to_s の素朴な疑問" on 99/02/05, HQss_YasuiS/hq_ss@omssv.hq.hitachizosen.co.jp writes: |> (1) +という演算子形式のメソッド |数学的法則といっても、Numeric と String では意味が異なりますよね。 NumericとStringで意味が異なるで構いませんが,混在した時にど のような意味を与えるかはまた別の話ではないですか.で,私とし ては +という演算子は数学記法から借りてきたので,両辺いずれか に数値を含む場合には数学的な雰囲気を持たせたいなと思っていま す."1"+1 => 11 だとそれが崩れちゃいますねえ. |> (2) 引数による多態性 |それと「乱用というのは引数の型の自動変換に相当するような多態性は |「型の認識」を阻害する」という個所は何を想定されているのでしょうか? えーと,「右辺(または引数)の型が数値であっても文字列であって も構わない」というのは「構わない」と思う時点で「型の認識を阻 害する」と思うのですが,私の考えは違ってます? |でも、これはこれで仕様通りですから気を付けましょうねで済む話かも |知れませんね。(馬鹿なことを言うなって意見も聞こえてきそうですが) えーと,私の考えでは,すくなくともRubyにおいては仕様というの は「仕様だから仕様である」のではなく,「気持ち良い,あるいは 間違いが発生しにくいので仕様としよう」であるべきだと考えてい ます.んで,現状の挙動を変更するためには「こうであっても良い じゃないか」ではなく,「こうあるべきだ」と攻めてほしいですね. 少なくとも現時点ではその方向のアプローチが不足していると思い ます. |で、折衷案になるかどうかわかりませんが、 |1)Stringはそのまま変えない。 |2)Numericには認める。 |具体策はいろいろ意見を聞いてから、ということで如何? 異議ありですか? もし,万が一変えるならむしろ逆でしょう. "1" + 1 が"11"になるのはまだ妥協できますが,1+"1"が2になるのはちょっ とかんべんです.1+"foo" とか 1+"25歳" とか考えたくもないです. |余談ですが、私の中では、ファイルからデータの読み込みやCGIでの |データ受け渡しに、必ずStringクラスを経由しなければならないと |いうのが引っかかっていたのです。 はあ,そうですか.どうしてそこでひっかかると引数の多態に到達 しちゃうんでしょう.まあ,面倒というのは重要な動機ではありま すが,今回に関してはメリット・デメリットをちゃんと評価すると トータルでマイナスが多そうだというのが今の私の結論です. ただ,これは文字列から数値への変換そのものを拒絶するわけでは ありません.なんらかの方法でより快適にプログラミングできる (かつ,デメリットのない)提案であれば採用したいと思っています. In message "[ruby-list:11956] Re: to_i,to_s の素朴な疑問" on 99/02/05, HQss_YasuiS/hq_ss@omssv.hq.hitachizosen.co.jp writes: |>ruby-devに振ります。 安井さんがruby-devに入られることを期待しつつこのメールは ruby-listに送ります.これ以上続けるのでしたら,移動しましょ うね. |# こんどはほんまに帰ります。あれ関西がばれたかなあ・・・ 日立造船のHQですから,大阪は自明でしょう. 私,以前シップアンドオーシャン財団の仕事で造船7社の方と一緒 に仕事しました.日立造船からは土井さんとおっしゃる方がいらっ しゃってました. まつもと ゆきひろ /:|)