zoukankan      html  css  js  c++  java
  • 《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 ,单行的写 { ~ }

  • 相关阅读:
    Hibernate保存方式的区别
    活动图
    Apache新增站点配置
    Apache安装
    360度全方位沟通向上沟通
    时间转换
    PostgreSQL 9.2中将引入生成JSON数据功能
    Delphi 读取dbgrid中的选中一行的代码及定位函数
    彻底解决Delphi的DBGrid控件鼠标滚轮问题(转)
    DB2与PostgreSQL开发的异同
  • 原文地址:https://www.cnblogs.com/sidianok/p/12979436.html
Copyright © 2011-2022 走看看