使用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?我想知道原因是什么?
发布于 2012-12-19 16:05:06
如果数字前面有一个零,则ruby将其视为八进制数(以8为基数)
您也可以对二进制/十六进制执行类似的操作
0x20 => 32 (hexadecimal)
020 => 16 (octal)
0b10 => 2 (binary)
080 => Invalid octal digithttps://stackoverflow.com/questions/13947817
复制相似问题