赞 | 0 |
VIP | 8 |
好人卡 | 27 |
积分 | 49 |
经验 | 41413 |
最后登录 | 2012-10-21 |
在线时间 | 833 小时 |
Lv3.寻梦者 弓箭手?剑兰
- 梦石
- 0
- 星屑
- 4894
- 在线时间
- 833 小时
- 注册时间
- 2010-11-17
- 帖子
- 1140
|
String#delete! 才能将对象修改。或者是 String = String#delete。
但是我用String#delete!才会出现[XXXXXXX, nil, nil, nil]。
删掉了delete那句就正常的了,我们unpack只是 "l4" ,
就是最终变回四个成员(整数)。
这只是我的理解,错误不负责= =:
至于[XXXXXXX, nil, nil, nil]的原因是因为一个数pack "l"的时候,就会:
"\000\000\000\000",这是因为Long占了四个byte,
当这些用不尽的时候"\0\0\0\50\0\0\0\50\0\0\0\50\0\0\0\50"这样,
应该unpack"l*"的时候会有四个成员(数字),因为每四个"\"就是一个"l",
那么将"\0"删掉后,就会:"\50\50\50\50",就会变得很长,而且不是四个,是一个数字!
而且long的话有些byte分配会出现负数的情况。(这个不用所说- -) |
评分
-
查看全部评分
|