查看: 2604|回复: 2

[已经解决] 请教yield 和do |actor|问题

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2018-7-3 17:47:17 | 显示全部楼层 |阅读模式

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

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

×
在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又是什么意思?
梦石
0
星屑
3069
在线时间
1054 小时
注册时间
2011-8-16
回帖
223
发表于 2018-7-3 19:17:54 | 显示全部楼层
do... end 以及中间的代码是代码块(block);
do |actor|... end 表示这个代码块需要一个 actor 参数;
yield actor 表示调用代码块,并传入 actor 作为参数。

点评

先谢谢了,具体到时候我去体会一下。具体怎么用,还是不很清楚!  发表于 2018-7-4 17:38

评分

参与人数 1星屑 +15 收起 理由
guoxiaomi + 15 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部