新井です。

> まつもと ゆきひろです

> ごめんなさい。ちゃんと読んでなかったかも。
> メールがあんまりいっぱいだから。

たまに、まつもとさんを聖徳太子か何かと勘違いしてしまいます
(^^;(ある意味それよりも凄いかも)。や、もちろんまつもとさんの
回答だけを期待してたわけではないです、やっぱりあのメールの内
容がわかりにくかったのでしょう。

> base=0のときだけ厳密なチェックがあるのはまさにInteger()がそ
> う呼んでいるからというだけの理由です。これらは別に汎用に作っ
> てるというわけではないんで。

Integer()の仕様が先にあるわけですね。では、Integer()の仕様は
厳密なチェック付きであることをマニュアルに明記しておきます。

> # 「本来はフラグを追加すべきだったのに怠けた」ことを正当化し
> # ようとしてるだけですが。^^;;;

拡張ライブラリの互換性確保の問題もありますしねえ。
(rb_cstr2inum()は後からできたんだっけかな?確か昔は
rb_str2inum()だけ?)

と思ってChangeLog見てみたら、

Thu Dec 30 02:08:02 1999  Yukihiro Matsumoto  <matz / netlab.co.jp>

        * bignum.c (rb_cstr2inum): non-numeric format check added.
          currently it works only with base == 0 (i.e. Integer()).

もう一年も前の話なのか。。

--
新井康司 (Koji Arai)