Project1
标题:
三維數組可不可以使用Marshal.dump ?
[打印本页]
作者:
土撥撥
时间:
2010-8-6 13:45
标题:
三維數組可不可以使用Marshal.dump ?
本帖最后由 土撥撥 于 2010-8-6 21:00 编辑
我最近正在做格式研究時 發現三維數組似乎不能Marshal.dump....
@A = [ [[000,001],[010,011],[020,021]] , [[100,101],[110,111]] ]
@K = Marshal.dump(@A)
@M = Marshal.load(@K)
print @M[0][2][1]
复制代码
這時候 出來的結果原應為 21 但是我把它print出來 出現的卻是17...
有沒有方法能讓Marshal支援三維數組呢?
作者:
紫苏
时间:
2010-8-6 14:03
Marshal 没问题,是你的常量整数字面值写法有问题,021 如果整数字面值由 0 打头,那么解释器会把它当做八进制解释,所以八进制 021 = 十进制 17
作者:
zhangbanxian
时间:
2010-8-6 14:35
你前面多加了一个0
作者:
调律
时间:
2010-8-6 14:41
在0前面加0d就好
p 21 #=>21
p 021 #=>17
p 0d021 #=>21
作者:
土撥撥
时间:
2010-8-6 20:28
可是我上次弄了一組十位數的數字
放到三維 然後整個數組dump進去
出來的結果只有三個位數...而且當初的十位數字開頭不是0......
作者:
zhangbanxian
时间:
2010-8-6 20:42
回复
土撥撥
的帖子
你指的是Table吧,Table对数值有限制的貌似只能4到5位。
作者:
IamI
时间:
2010-8-6 20:45
Table的数据总数上限为4个字节(4294967295个数据)
每个数据的上限为带符号的2个字节(-32767~32768)
作者:
土撥撥
时间:
2010-8-6 21:00
噢!那我懂了 謝謝你們~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1