0

ここに私が持っているものがあります: 端末のスクリーンショット

一時変数を使用すると、次のようになります。

ここに画像の説明を入力

正常に動作するのに、10 ** 18うまく動作しないのはなぜですか?10 ** 2010 ** 19

4

1 に答える 1

3

これは 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
于 2013-04-27T12:39:53.820 に答える