Project1

标题: 【已解决】nil?里面?是代表什么? [打印本页]

作者: miantouchi    时间: 2019-6-9 21:28
标题: 【已解决】nil?里面?是代表什么?
本帖最后由 miantouchi 于 2019-6-11 21:44 编辑

unless BattlerName[@battler.name].nil?
          @number = (@number + 1) % BattlerName[@battler.name][@battler.startactive].size
          self.bitmap = RPG::Cache.battler(BattlerName[@battler.name][@battler.startactive][@number], @battler_hue)
end

我从比人的脚本当中看到这么一句。
nil?里面?是代表什么?
这个等价什么?

不带?情况下。
BattlerName[@battler.name].nil是战斗者名称为空 ,加上 unless 就是战斗者不为空则成立。

那现在换成nil?是啥意思?怎么这么绕

作者: soulsaga    时间: 2019-6-9 21:50
.nil?
是空就返面正,不是空就返回假..这里unless..就是为空=假,不为空=正
作者: 有丘直方    时间: 2019-6-9 22:10
unless和if not本来就是同一个意思,随便你改
作者: 灯笼菜刀王    时间: 2019-6-9 22:10
F1,  Object类的方法
作者: 百里_飞柳    时间: 2019-6-9 22:26
Ruby中的方法名允许在末尾携带?,代表返回的将会被转化为布尔量true或者false

Object#nil? 方法返回当前对象是否为nil
作者: shitake    时间: 2019-6-9 22:27
就是正常的方法名

nil 和 nil? 是两个方法

ruby里方法名里可以包含?
一般约定成俗的是?结尾的方法返回的是Boolean值 类似的还有!

具体可以看这篇文章:
https://stackoverflow.com/questi ... end-of-method-names




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