成瀬です。

(2010/03/22 22:08), Tadayoshi Funaba wrote:
> 質問ですが、この形式は入力だけでなく、なんらかの方法で出力でも利用でき
> るのでしょうか。

sprintf フォーマットに %a と %A を追加する提案を予定しています。
(つまり、String#% にも追加される)

ただ、現状 missing/vsnprintf.c が %a %A に対応しておらず、
実装に時間がかかりそうだったので入力だけ先に提案しました。

1.9.3 ではこちらも入れたいと思っています。

> あと、これを浮動小数点数において16進数を受けつけるようにした、と解釈す
> ると、たとえば、Integer では、
> 
> Integer('0xff') #=>  255
> '0xff'.to_i     #=>  0
> 
> という違いがあるようです。

String#to_f は従来から指数表記を許していたので、
String#hex などと使い分けている String#to_i 事情が違うと理解しています。

> Float('0xff.0p+0') #=>  255.0
> '0xff.0p+0'.to_f   #=>  255.0
> 
> それから、この形式がとても硬直しているように感じます。この形式は e を共
> なう指数表記と似ていると思うのですが、1e1 と書けても、0x1p1 とは書けな
> いし、0xff、0xff.0 なども受けつけないということですよね。

この提案では保守的に受け付ける範囲を狭めにしていました。
C99 の strtod と同等にするという案もあると思いますし、
わたしはそれに反対しません。

-- 
NARUSE, Yui  <naruse / airemix.jp>