Project1

标题: 请教yield 和do |actor|问题 [打印本页]

作者: kvkv97    时间: 2018-7-3 17:47
标题: 请教yield 和do |actor|问题
在Interpreter 6中,
  #--------------------------------------------------------------------------
  # ● 增减 EXP
  #--------------------------------------------------------------------------
  def command_315
    # 获取操作值
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # 处理重复
    iterate_actor(@parameters[0]) do |actor|
      # 更改角色 EXP
      actor.exp += value
    end
    # 继续
    return true
  end
请问:“do |actor|”的do是什么意思?|actor|又是什么意思?在方法iterate_actor中的yield actor又是什么意思?
作者: 失落的乐章    时间: 2018-7-3 19:17
do... end 以及中间的代码是代码块(block);
do |actor|... end 表示这个代码块需要一个 actor 参数;
yield actor 表示调用代码块,并传入 actor 作为参数。




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