Project1

标题: 什么时候"push"方法不可用? [打印本页]

作者: TheRebirth    时间: 2012-7-7 07:56
标题: 什么时候"push"方法不可用?



其实这个问题已经很古老了,9个月前就有,只不过这个错误在提问之前,就以各种方式“莫名其妙”地解决了dsu_plus_rewardpost_czw
作者: limaolinghu    时间: 2012-7-7 10:21
Ruby是弱类型语言,是不是这个对象被意外赋值为其他实例了?
作者: 铅笔描绘的思念    时间: 2012-7-7 10:52
本帖最后由 铅笔描绘的思念 于 2012-7-7 10:54 编辑

Array = [1,2,3]
Array << 4
p Array  #[1,2,3,4]
我错了。。

作者: 怪蜀黍    时间: 2012-7-8 12:32
看清楚你的错误提示:"for nil:NilCass"。这就表明你push的主体值为空。那么当然push不了。相当于:
  1. a=nil
  2. a.push 4 #显然是不行的,因为a为空值。
复制代码
只有是
  1. a = [1,2,3]
  2. a.push 4 #这样就可以了,因为a是[1,2,3],再push一个4,a就成[1,2,3,4]了
复制代码
LZ检查你脚本push的主体,一定是空值。假如是a,你可以:p a,看看a是不是==nil。
找出你的主体a为nil的原因,再寻求解决的办法,比如:
  1. a = a.push 4 rescue [1,2,3,4]#这样就不报错了,一旦出现错误,a就自动变成[1,2,3,4]
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1