查看: 3007|回复: 6

[已经解决] 请问在Game_BattlerBase里创建数组如何赋值?

[复制链接]
梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
回帖
659

开拓者

发表于 2017-12-4 16:37:27 | 显示全部楼层 |阅读模式

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

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

×
我在Game_BattlerBase下面写入了def leijizhi;@leijizhi = Array.new(32){0};end;然后尝试在伤害公式里增加b.leijizhi[1]+=15;但之后leijizhi[1]里仍然是0,增加没有成功,请问正确的写法是什么啊?

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2017-12-4 17:10:53 | 显示全部楼层
是不是没有初始化对象?

点评

因为我是在def leijizhi 里面进行的赋值,我猜可能是这个方法在被反复调用,所以即使改变了也还是被赋值为0,但不知道数组在Game_BattlerBase的其他写法  发表于 2017-12-4 17:44
直接赋值了,可以查到是0,但改变不了  发表于 2017-12-4 17:42
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2017-12-4 18:16:25 | 显示全部楼层
本帖最后由 喵呜喵5 于 2017-12-4 18:17 编辑

def leijizhi
  @leijizhi ||= Array.new(32){0}
  return @leijizhi
end

点评

啊,我知道了是 存在但没赋值时 的意思,感觉这个运算符很有用  发表于 2017-12-4 18:38
请问这种 或者等于 的写法是什么意思呢?它实际起到了什么用途?  发表于 2017-12-4 18:36

评分

参与人数 1赞 +1 收起 理由
jianyulei + 1 感谢喵大

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部