2

を使用してinsert、値を次のようにプッシュしますArray

myarray=[22,33,44]
myarray.insert(0,02)
# => [2,22,33,44]

次のことを行うと、次のようになります。

myarray.insert(0,020)
# => [16,2,22,33,44]

020になり16ますか?次のことを行うと、次のようになります。

myarray.insert(0,0200)
# => [128,16,2,22,33,44]

0200になり128ますか?その理由を教えてもらえますか?

4

1 に答える 1

8

数値の前にゼロがある場合、ruby はそれを 8 進数 (基数 8) として扱います。

2進数/16進数でも同様のことができます

0x20 => 32 (hexadecimal)
020 => 16 (octal)
0b10 => 2 (binary)
080 => Invalid octal digit
于 2012-12-19T08:05:06.077 に答える