Ruby基础语法二:条件和循环

一、条件语句

  1. 1. if else
    • 1 a = 1
      2 if a > 0 then
      3     p "a > 0"
      4 elsif a == 0 then
      5     p "a = 0"
      6 else
      7     p "a < 0"
      8 end
    • then 关键字可以不写

2.unless

    • 1 a = 1
      2 unless a > 0 then
      3     p "a <= 0"
      4 else
      5     p "a > 0"end
    • then 关键字同样可以不写
    • 逻辑上需要注意,unless可以翻译成”如果不“,就是unless后边的条件是false,就执行接下来的代码;如果是true,就执行else后边的代码。可能if用多了,总感觉有点别扭。

3. case 

    • 1 a = -1
      2 case a
      3 when 0
      4     p "a = 0"
      5 when 1 ..2
      6     p "a = 1 || a =2"
      7 else
      8     p "a != 0 && a != 1"
      9 end
    • when 的后面同样可以跟着then,和其他语言的case语句差不多
    • 注意when后面的条件可以是一个范围,判断的时候是 variable == value1 || variable ==value2 这种逻辑 

二、循环语句   

    1. for 

    • 这里的i可以理解成计数器,意思就是循环3次。还记得C风格的for循环吧:for(int i=0; i<=2; ++i){}其实i也是用来控制执行次数
  •       
    • 1 for i in 0..2
      2    p i
      3 end
      4 #output: 0,1,2

               另外也可以灵活地用于读取数组数据,如果用过C#的,相当于foreach的作用

    • 1 a = ['a','b','c']
      2 for char in a
      3     p char
      4 end
      5 #output: "a" "b" "c"

        ruby的数组类有一个each方法可以起到同样的作用,用法:

    • 1 a.each do |e|
      2     p e
      3 end

       

    2. times 

     很直观,就是:执行次数.times,用法:

    • 1 i = 0
      2 3.times do
      3     p i
      4     i += 1
      5 end
      6 #output:  0, 1, 2

       

        3. while

    • 1 i = 0
      2 while i < 3 do
      3     p i
      4     i += 1
      5 end
      6 #output:  0, 1, 2

       

    4. loop

      • 无条件循环
    • 1 i = 2
      2 loop do
      3     if i < 0
      4         break
      5     end
      6     p i
      7     i -= 1
      8 end
      9 #output: 2,1,0

 

    5. until

 

      • 1 i = 0
        2 begin
        3     p i
        4     i += 1
        5 end until i >2
        6 #output: 2,1,0

     6. next

      在满足条件时跳出本次循环,直接进行下一次迭代。类型C++中的continue

    • 1 for i in 0..2
      2     if i == 1
      3         next
      4     end
      5     p i
      6 end
      7 #output 0,2

       

转载于:https://www.cnblogs.com/nightcatcher/p/6071481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值