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

Project1

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

[已经解决] 有间隔的循环怎么写?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2014-7-18 14:32:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有专门的写法么?比如for i in 1..100  ,当中跳过i = 15,i = 16,i = 17,i = 40,i = 75,这些情况

评分

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

查看全部评分

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-7-18 15:02:46 | 只看该作者
就事论事
  1. a = [*1..100].find_all {|i| ![15, 16, 17, 40, 75].include?(i)}
  2. for i in a
  3. end
复制代码
  1. for i in 1..100
  2.   next if [15, 16, 17, 40, 75].include?(i)
  3. end
复制代码
使用 find_all或其他方法 找出符合要求的;
使用 next 跳过不符合要求的

至少我不知道有什么专门方法

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9727
在线时间
3227 小时
注册时间
2011-3-24
帖子
739

开拓者

3
发表于 2014-7-18 15:05:41 | 只看该作者
手头没有电脑,用手机写个麻烦点的
不过万变不离其宗~
  1. a = -1
  2. b = []
  3. # 这里是1-100
  4. for i in 1..100
  5. a += 1
  6. b[a] = i
  7. end
  8. # 去掉15、16、17、40、75
  9. b.delete(15)
  10. b.delete(16)
  11. b.delete(17)
  12. b.delete(40)
  13. b.delete(75)
复制代码
然后再for i in b就行了…

评分

参与人数 1星屑 +20 收起 理由
RyanBern + 20 塞糖,5L比较简便

查看全部评分

>>→Lanza Games 2020←<<
Lanza Schneider
浪子心,孤星梦永远流浪……
~不会放弃,我的精力永远充沛~
>>>>>Lanza Adventure<<<<<
>>>>>Lanza的新年派对!<<<<<
>>>>>Lanza的口袋心脏病!<<<<<
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

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

开拓者贵宾剧作品鉴家

4
发表于 2014-7-18 15:42:46 | 只看该作者
  1. ((1..100).to_a - [15,16,17,40,75]).each{|i| ...}
复制代码
是这样吧?貌似比较占内存。
或者用while吧。
  1. i = 1
  2. while i <= 100
  3.   next if [15,16,17,40,75].include?(i)
  4. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2014-7-18 17:55:55 | 只看该作者
  1. (1..100).each do |i|
  2.   next if [15, 16, 17, 40, 75].include?(i)
  3.   #...
  4. end
复制代码

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

6
发表于 2014-7-18 17:59:12 | 只看该作者
100.times do |i|
  next if [15,16,17,40,75].include?(i-1)
end

评分

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

查看全部评分


  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
帖子
396
7
发表于 2014-7-18 19:45:53 | 只看该作者
  1. for i in 1...100
  2. if i!=15 or 16 or 17 or 40 or 75
  3. 呵呵
  4. end
  5. end
复制代码
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

8
发表于 2014-7-19 22:20:59 | 只看该作者
  1. for i in 0...3
  2. case i
  3. when i==0
  4.   p "[url=home.php?mod=space&uid=183272]@chd114[/url] "
  5. when i==1
  6.   p "[url=home.php?mod=space&uid=2630902]@楼主是我的女仆[/url] "
  7. when i==2
  8.   p "[url=home.php?mod=space&uid=317546]@美丽晨露[/url] "
  9. end
  10. end
复制代码
也是其中一种,根据自己需要选择这些方法中的其中一种
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 16:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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