Project1

标题: 什麼是nil? [打印本页]

作者: 熊喵酱    时间: 2013-3-28 11:14
标题: 什麼是nil?
本帖最后由 76213585 于 2013-3-27 21:31 编辑

nil是什麼意思我還是一直不懂.....
nil:Class又是什麼意思....
腳本盲..
作者: 怪蜀黍    时间: 2013-3-28 12:07
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,就不报错了。




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