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

Project1

 找回密码
 注册会员
搜索
查看: 1667|回复: 3
打印 上一主题 下一主题

[已经解决] 什麼是nil?

[复制链接]

Lv2.观梦者

梦石
0
星屑
362
在线时间
1292 小时
注册时间
2013-1-12
帖子
3590

贵宾

跳转到指定楼层
1
发表于 2013-3-28 11:14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 76213585 于 2013-3-27 21:31 编辑

nil是什麼意思我還是一直不懂.....
nil:Class又是什麼意思....
腳本盲..

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2013-3-28 12:07:40 | 只看该作者
nil就是空,所有的变量在没有赋值之前都是nil。这里的变量不是指$game_variables这些,而是任意变量如$abc、@abc、@@abc、abc等。它们的初始值都是nil。出现你那样的报错是最常见的报错了,是执行某个方法的主体值为nil。比如
  1. for i in 0..10
  2. $game_troop.members[i].hp+=1
  3. end
复制代码
让1-11号敌人的HP都加1,但敌人最多就是8个,没有11个敌人,因此当执行到第9个敌人时,$game_troop.members[8]就是nil,nil不具有hp属性,无法执行hp+=1,于是报错。所以只要
  1. $game_troop.members[i].hp+=1 unless $game_troop.members[i].nil?
复制代码
在不为空的时候才执行hp+=1,就不报错了。

点评

明白了,详细  发表于 2019-2-22 13:27
謝謝p叔!  发表于 2013-3-28 12:30

评分

参与人数 1星屑 +20 收起 理由
j433463 + 20 我很赞同,简洁有力的回答。

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-15 01:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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