From: "NARUSE, Yui" Date: 2010-10-14T21:29:19+09:00 Subject: [ruby-dev:42381] Re: [Ruby 1.9-Feature#3946][Open] Array#packのqQ指定子に機種依存サイズフラグ!を追加 (2010/10/14 21:07), Tanaka Akira wrote: >> さて、q/Q は 64bit signed/unsigned int なのですが、機種依存の long long (厳密には LONG_LONG) の >> サイズが必要な場合、現状 Ruby レベルから取る手段が一切ありません。 >> すでに s/S/i/I/l/L (16bit/32bit/32bit) は、! をつけることでその機種の short/int/long の >> サイズになるため、これを q/Q に拡張すると唯一の手段が提供される事になります。 > > おそらく long long がない場合にはエラーになるべきだと思うんですが、 > その場合のエラーを決めないといけないんじゃないでしょうか。 ふむ。 現実的には 64bit 以上の整数型がない環境ですよね。 rb_raise(rb_eArgError, "this machine doesn't have long long int"); あたりになりますかねぇ。 -- NARUSE, Yui