2

私はルビー1.9.3を使用しています

Integer( "07")が非常にうまく機能しているのに、Integer( "09")がrubyで "無効な整数例外"をスローするのはなぜですか?

前もって感謝します。

4

2 に答える 2

8

先行ゼロは、8 進数 (「基数 8」) 表記の一般的な規則であるためです。98 進数には数字がないため、使用すると構文エラーになります。

と書いた場合Integer("014")、数値は 12 になります (したがって、8 進数表記を意図していない場合は、先行ゼロを使用しないでください)。

于 2012-10-30T10:14:52.837 に答える
3

0 で開始すると、8 進数と見なされます。9 は有効な 8 進数ではありません!

于 2012-10-30T10:14:45.427 に答える