《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 ,单行的写 { ~ }

 

posted @ 2020-05-28 11:27  就是想学习  阅读(158)  评论(0编辑  收藏  举报