赞 | 0 |
VIP | 0 |
好人卡 | 110 |
积分 | 1 |
经验 | 24791 |
最后登录 | 2013-6-25 |
在线时间 | 687 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 687 小时
- 注册时间
- 2012-10-29
- 帖子
- 1543
|
nil 是空的意思,如果按照 C 的说法,它指向一个空的指标,它是指向一个物件对象的 Empty 空值,而 Nil 则指向一个类而不是物件,我觉得应该这样解释。
一个变量没有指定前,它的值应该是 nil ,空的值,不存在任何值,未建立的值,nil 不是 0,两者不同,0 是可以计算的,有数的,nil 没有,它是空,
如果您这样测:
p $abc
控制台应该会看到 nil 这个值,因为 $abc 没有指定,它没有被赋值,所以初始就是 nil,而游戏定义的 5000 个变量,其实并不是只有 5000,
若用了破限脚本或许上万都可以,即使您用
p $game_variable[5013]
得到的还是 0,那已经超过了 5000 变量,为什么?因为 Game_Variable 中这样设置:
@data = []
@data[variable_id] || 0
它在初始化 initialize 时设了一个空的数组,然后在取得变量时指定了回传的值如果不是 @data[variable_id] 就是 0
这和您说的 nil 变成 0 没有实质的关连,只是被脚本这样设定而已,非值即 0,您也可以参考这样做。
|
评分
-
查看全部评分
|