Project1

标题: 请问如何在alias之后调用内部临时变量 [打印本页]

作者: jianyulei    时间: 2018-7-7 10:48
标题: 请问如何在alias之后调用内部临时变量
一些在方法内建立的临时变量在方法被改名之后无法被改名后的方法调用,例如make_damage_value里的value这个变量,我将make_damage_value改名了之后无法在改名之后获得它,返回未创建报错,请问有无解决办法?

class Game_Battler < Game_BattlerBase
  alias make_damage_value2 make_damage_value
  def make_damage_value(user, item)
     make_damage_value2(user, item)
     p value
  end
end
作者: suixinsua    时间: 2018-7-7 12:21
本帖最后由 suixinsua 于 2018-7-7 12:30 编辑

看错了!嘿嘿!!
作者: cinderelmini    时间: 2018-7-7 13:13
本帖最后由 cinderelmini 于 2018-7-7 13:18 编辑

呃……之前记错内容了,如果看到了之前的回复请无视
这个方法在最后是将value赋值进result里了,于是alias的话,操作value也不会改变result。
这种情况更建议自己重定义make_damage_value这个方法,
保留原内容的情况下自己在最后“result.make_damage”之前对应的地方操作value。
作者: suixinsua    时间: 2018-7-7 13:15
刚刚去看了一下alias
是不是,先执行的别名,而别名里执行内容只是p value
就像在原来的
def make_damage_value(user, item)

p value  这里先执行的
然后才获取的value的变量
end
脚本也不太懂!!众在参与!我也不知道理解的对不对!!




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