ここに私が持っているものがあります:
一時変数を使用すると、次のようになります。
正常に動作するのに、10 ** 18
うまく動作しないのはなぜですか?10 ** 20
10 ** 19
ここに私が持っているものがあります:
一時変数を使用すると、次のようになります。
正常に動作するのに、10 ** 18
うまく動作しないのはなぜですか?10 ** 20
10 ** 19
これは Ruby 1.8.7 のバグでした。この commitによって修正されました。最新バージョンにアップグレードするだけで、すべて正常に動作します。
1.9.3 でのいくつかのテストを次に示します。
テキスト表現は次のとおりです (目の不自由なユーザー向け):
1.9.3p362 :001 > 10 ** 18
=> 1000000000000000000
1.9.3p362 :002 > 10 ** 19
=> 10000000000000000000
1.9.3p362 :003 > 10 ** 20
=> 100000000000000000000
1.9.3p362 :004 > 10 ** 21
=> 1000000000000000000000
1.9.3p362 :005 > 10 ** 22
=> 10000000000000000000000
1.9.3p362 :006 > 10 ** 23
=> 100000000000000000000000
これが私が実行したコマンドのリストです:
irb
10 ** 18
10 ** 19
10 ** 20
10 ** 21
10 ** 22
10 ** 23