Project1
标题:
有间隔的循环怎么写?
[打印本页]
作者:
stella
时间:
2014-7-18 14:32
标题:
有间隔的循环怎么写?
有专门的写法么?比如for i in 1..100 ,当中跳过i = 15,i = 16,i = 17,i = 40,i = 75,这些情况
作者:
恐惧剑刃
时间:
2014-7-18 15:02
就事论事
a = [*1..100].find_all {|i| ![15, 16, 17, 40, 75].include?(i)}
for i in a
end
复制代码
for i in 1..100
next if [15, 16, 17, 40, 75].include?(i)
end
复制代码
使用 find_all或其他方法 找出符合要求的;
使用 next 跳过不符合要求的
至少我不知道有什么专门方法
作者:
Mr.Jin
时间:
2014-7-18 15:05
手头没有电脑,用手机写个麻烦点的
不过万变不离其宗~
a = -1
b = []
# 这里是1-100
for i in 1..100
a += 1
b[a] = i
end
# 去掉15、16、17、40、75
b.delete(15)
b.delete(16)
b.delete(17)
b.delete(40)
b.delete(75)
复制代码
然后再for i in b就行了…
作者:
RyanBern
时间:
2014-7-18 15:42
((1..100).to_a - [15,16,17,40,75]).each{|i| ...}
复制代码
是这样吧?貌似比较占内存。
或者用while吧。
i = 1
while i <= 100
next if [15,16,17,40,75].include?(i)
end
复制代码
作者:
taroxd
时间:
2014-7-18 17:55
(1..100).each do |i|
next if [15, 16, 17, 40, 75].include?(i)
#...
end
复制代码
作者:
kuerlulu
时间:
2014-7-18 17:59
100.times do |i|
next if [15,16,17,40,75].include?(i-1)
end
作者:
573932914
时间:
2014-7-18 19:45
for i in 1...100
if i!=15 or 16 or 17 or 40 or 75
呵呵
end
end
复制代码
作者:
chd114
时间:
2014-7-19 22:20
for i in 0...3
case i
when i==0
p "[url=home.php?mod=space&uid=183272]@chd114[/url] "
when i==1
p "[url=home.php?mod=space&uid=2630902]@楼主是我的女仆[/url] "
when i==2
p "[url=home.php?mod=space&uid=317546]@美丽晨露[/url] "
end
end
复制代码
也是其中一种,根据自己需要选择这些方法中的其中一种
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1