まつもと ゆきひろです

In message "[ruby-list:26894] Re: cgi.rb and Regexp::last_match"
    on 00/12/27, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

|ぼくは、次のように考えています。
| * String#to_i は非常によく使うので、わざわざ Integer( ) と
|   書きたくない。

これは分かります。どちらでも良いときに Integer() よりもto_i 
を選ぶのは自然でしょう。

| * to_i が変換できないときに 0 を返すというCのatoi()に対する
|   互換性(?)への拘りはちょっと理解できない。

to_iは「変換できないときに0を返す」というよりも「積極的に数
値化する」という仕様なのでしょう。" 25 times"を25と解釈する
か、nilと解釈するか、例外とするかという話でしょう。

| * nilを返すことによって得られる恩恵に比べればこれまでの
|   Rubyに対する互換性による恩恵はずっと小さい。

これは人によって感じ方は異なるでしょうね。

たとえば、to_iの仕様として考えられるのは

  (a) 現状のママ
  (b) 先頭に数値が存在しない場合nil
  (c) 数値として適切な表現でない場合nil(Integerのnil版)

などが考えられますね。「使いやすい」閾値はどこにあるでしょう?

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