Project1

标题: next的用法? [打印本页]

作者: 邱小谦    时间: 2016-3-20 17:03
标题: next的用法?
#不能使用的法术就不显示
                                if skill != nil and @actor.skill_can_use?(skill.id)
                                        if $game_temp.in_battle
                                                if skill.occasion == 0 or skill.occasion == 1
                                                else
                                                        next
                                                end
                                        end
                                        @data.push(skill)
                                end

我只在f1里面看到过next只跳出此次循环。。那在if判断里面,指的是什么意思啊?我尝试着打印,想得出值。结果可能是因为关键字的原因,语法错误。有大婶来解答下么。。
作者: RyanBern    时间: 2016-3-20 17:08
本帖最后由 RyanBern 于 2016-3-20 20:34 编辑

next的作用就是跳出当次循环,如果用在块中就是结束此次块的迭代而开始下一块的迭代。

请仔细找找,next的上方一定包含了for/while/do循环,或者是each迭代器。在这里for循环的可能性最大。

顺便吐槽一下这个条件判断是谁写的,一句话能写完的命令非要写这么多。

RUBY 代码复制
  1. unless skill == nil || !@actor.skill_can_use?(skill.id) || $game_temp.in_battle && !([0, 1].include?(skill.occasion))
  2.   @data << skill
  3. end





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