Project1

标题: 关于for i in语法的请教 [打印本页]

作者: xmheart    时间: 2013-9-23 08:36
标题: 关于for i in语法的请教
错误的脚本如下:
def point_plus(param_id)
r=0
for i in 1 .. POINT_KIND
r+=@point[i]*POINT_ADD_PARAM[i-1][param_id]
end
return r
end

按F12后出现nil can't be coerced into Fixnum错误,错误地方提示上面那一段脚本,请问for i in语法是什么意思?先谢谢各位
作者: 熊喵酱    时间: 2013-9-23 09:03
for i in 什么的我是不知道啦......
不过錯誤是因為 i 是nil  而nil 無法转換成 Fixnum
作者: 喵呜喵5    时间: 2013-9-23 12:14
没有for i in的语法……
这个只是个普通的for循环……

for 变量 in 开始的数值..结束的数值

至于出错的原因…………
个人觉得是那个POINT_KIND被你设置成小数了啊


作者: 无脑之人    时间: 2013-9-23 12:31
出错原因目测是param_id为nil,或者POINT_ADD_PARAM[i-1][param_id] 为nil
for循环的语法是 for [变量名] in [可以转换为数组的对象] ;... ; end
等同于 [可以转换为数组的对象].each{|[变量名]| ... }
作者: 喵呜喵5    时间: 2013-9-23 12:36
无脑之人 发表于 2013-9-23 12:31
出错原因目测是param_id为nil,或者POINT_ADD_PARAM 为nil
for循环的语法是 for [变量名] in [可以转换为数 ...

话说小数不会有问题吗?

for i in 1..3.1415926

的话循环会执行几次?
作者: 晴兰    时间: 2013-9-23 12:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: xmheart    时间: 2013-9-23 18:57
按照楼上的脚本输入结果出来下面的东西,我是用了一个角色属性增加和自由加点系统,应该是两者之间有冲突、

QQ截图20130923185611.jpg (139.12 KB, 下载次数: 29)

QQ截图20130923185611.jpg

作者: xmheart    时间: 2013-9-24 20:30
param_id去到11了。在状态界面可以读取数据,这里就成nil了




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