设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2198|回复: 1
打印 上一主题 下一主题

[已经解决] next的用法?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2344
在线时间
568 小时
注册时间
2012-5-3
帖子
86

开拓者

跳转到指定楼层
1
发表于 2016-3-20 17:03:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
#不能使用的法术就不显示
                                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判断里面,指的是什么意思啊?我尝试着打印,想得出值。结果可能是因为关键字的原因,语法错误。有大婶来解答下么。。

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2016-3-20 17:08:12 | 只看该作者
本帖最后由 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

点评

一句话就写完……我等新手往往看不懂了~~  发表于 2016-3-21 09:53
谢拉,学到新用法 || !和 && !了  发表于 2016-3-20 21:31
想学一句话的写法  发表于 2016-3-20 20:16
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 16:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表