《Rubu基础教程第五版》第六章笔记 循环

循环时的注意事项

循环做什么

停止循环的条件是什么

Ruby实现循环的方法

times  while  each  for until  loop

times方法

"满地油菜花"
"满地油菜花"
"满地油菜花"
"满地油菜花"
"满地油菜花"
"满地油菜花"
"满地油菜花"
shijianzhongdeMacBook-Pro:learn_ruby shijianzhong$ cat times.rb 
7.times do 
  p "满地油菜花"
end
"第0次的循环"
"第1次的循环"
"第2次的循环"
"第3次的循环"
"第4次的循环"
shijianzhongdeMacBook-Pro:learn_ruby shijianzhong$ cat times2.rb 
5.times do |i|
  p "第#{i}次的循环"
end
"第1次的循环"
"第2次的循环"
"第3次的循环"
"第4次的循环"
"第5次的循环"
shijianzhongdeMacBook-Pro:learn_ruby shijianzhong$ cat times3.rb 
5.times do |i|
  p "第#{i + 1}次的循环"
end
shijianzhongdeMacBook-Pro

for语句

15
shijianzhongdeMacBook-Pro:learn_ruby shijianzhong$ cat for.rb 
sum = 0
for i in 1..5 do
  sum = sum + i
end
p sum
shijianzhongdeMacBook-Pro:learn_ruby shijianzhong$ 

.. 与 ...表示范围, ..表示首位都取到的,...表示取头不取尾

while 语句

1
2
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat while.rb 
i = 1
while i < 3 do  
  puts i
  i += 1
end
15
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat while2.rb 
sum = 0
i = 1
while i <= 5
  sum += i
  i += 1
end
p sum
55
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat while3.rb 
sum = 0
i = 1
while sum < 50
  sum += i
  i += 1
end 
p sum
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ 

until语句

until 是在条件假的时候,才执行操作

示例代码

55
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat until.rb 
sum = 0
i = 1
until sum >= 50
  sum += i
  i += 1
end
p sum

通过while来实现的效果

55
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat while_not.rb 
sum = 0
i = 1
while not(sum >=50)
  sum += i
  i += 1
end
p sum
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ 

each方法

对象.each do |变量|

  处理 变量

end

对象.each {|变量| 处理变量}

for 循环就是通过each方法来实现的

"awk"
"Per1"
"Python"
"Ruby"
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat each_names.rb 
names = ["awk", "Per1", "Python", "Ruby"]
names.each do |name|
  p name
end

shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ 

求和的用each写

15
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ cat each.rb 
sum = 0
(1..5).each do |i|
  sum += i
end
p sum
shijianzhongdeMacBook-Pro:chapter_6 shijianzhong$ 

loop 方法 死循环输出

loop do
  print "Ruby"
end

 会一致输出Ruby

循环控制

break next 同Python的break 与 continue

Python中用很6了,就不写了

专栏do ~ end 与 { ~ }

多行的代码写 do ~ end ,单行的写 { ~ }

猜你喜欢

转载自www.cnblogs.com/sidianok/p/12979436.html