设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

"undefined method `+' for nil:NilClass" 是怎么回事?

查看数: 1917 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-1-1 16:34

正文摘要:

本帖最后由 jediman 于 2014-1-1 19:21 编辑 更改代码如下 RUBY 代码复制def param(param_id)#    value = param_base(param_id) + param_plus(param_id)  &nb ...

回复

jediman 发表于 2014-1-1 19:20:29
喵呜喵5 发表于 2014-1-1 17:17
在 value =XXXX 前面加一句msgbox get_status(param_id)看看传回去的时候是不是nil?

发现问题是函数参数超出数组长度导致 回传值为nil
问题已经解决了~
谢谢关注,祝新年快乐
jediman 发表于 2014-1-1 19:18:09
taroxd 发表于 2014-1-1 17:13
get_status = $Game_Bstatus   #已初始化
这一行,对每个param_id都初始化了吗?nil可不算啊,至少也初 ...

最后那句是根据源代码进行修改的,意思应该是增加BUFF的属性值。。至于为什么要再乘一次get_status(param_id)
原因只有一个。。我看错了{:2_274:}。。

看到 你说 nil 不可算。。突然见想到参数 param_id 超出数组长度导致回传值为nil
修改数组长度后问题解决~谢谢~
顺便预祝新年快乐!
喵呜喵5 发表于 2014-1-1 17:17:34
在 value =XXXX 前面加一句msgbox get_status(param_id)看看传回去的时候是不是nil?

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

taroxd 发表于 2014-1-1 17:13:40
本帖最后由 taroxd 于 2014-1-1 17:23 编辑

    get_status = $Game_Bstatus[param_id]   #已初始化
这一行,对每个param_id都初始化了吗?nil可不算啊,至少也初始化成0

顺便给个下下策:
RUBY 代码复制
  1. class NilClass
  2.   def +(other)
  3.     other
  4.   end
  5. end


再来一句题外话,value *= get_status(param_id) * param_buff_rate(param_id) 这句话莫名其妙啊,为什么要再乘一次get_status(param_id) ?
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 03:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表