Ruby简明教程之判断语句介绍

条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别

Ruby中条件判断的条件:

1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回true和false,这和java中的语法是类似的

2) 一些其他的方法也可以用来作为判断条件,比如,empty?方法,为空则返回true,否则返回false

3) 有些方法虽然不会返回true或false,但是也能作为条件判断的条件,他们返回的对象,要么是false或nil,要么是意义的对象,则可根据如下表格判断:

TRUE FALSE
false和nil以外的对象 false与nil

p /Ruby/ =~ "Ruby"  返回0,则在条件判断中可以返回true

Ruby中也可以使用常用的逻辑运算符,&&,||,!,其代表的意义与JAVA中的意义是一致的。

Ruby中的条件判断语句:

1. if 语句


代码如下:

=begin
语法:
if 条件1 then
   语句1
elsif 条件2 then
   语句2
elsif 条件3 then
   语句3
else
   语句4
end
=end

a = 10
b = 20
if a>b then
   print "a is smaller than b."
elsif a == b then
   print "a equals b."
else
   print "a is larger than b."
end

2. unless 语句,其恰好与if语句相反,当条件不符合时,则执行相应语句

代码如下:

=begin
语法:
unless 条件 then
   语句
end
=end

a = 10
b = 20
unless a>b then
   print "a is smaller than b."
end

# -> "a is smaller than b" will be printed out.

3. case 语句
当同一个对象,要与多个值进行比较时,可以使用case语句,其功能与JAVA中的switch语句类似

代码如下:

=begin
语法:
case 想要比较的对象
when 值1 then
    语句1
when 值2 then
    语句2
when 值3 then
    语句3
else
    语句4
end
# then是可以省略的
=end

array = ["aa", 1, nil]
item = array[0]
   case item
   when String
      puts "item is a String."
   when Numeric
      puts "item is a Numeric."
   else
      puts "item is a something"
   end
#这里比较的是对象的类型,而不是对象的值

PS:
if修饰符和unless修饰符可以写在执行语句后面,例如,print "a is larger than b." if a>b,所以ruby是很灵活的。

"==="符号的意义,其在不同的场合可以代表不同的符号,若左边是数字或字符串时,则和"=="是一样的;在正则表达式的场合下则相当于"=~";在类的场合下,判断"==="右边的对象是否是类的实例

代码如下:

p ((1..3) === 2)  #-> true
p /zz/ === "zyzzy"  #-> 2
p String === "xyzzy"  # -> true

#在case表达与if语句间转换,用===,符号左边是case的值,右边为case的变量
case A
when value1                   if value1 === A
   语句1                              语句1
when value2                   elsif value2 === A
   语句2                               语句2
else                                else
   语句3                                语句3
end                                 end

(0)

相关推荐

  • Ruby简明教程之循环语句介绍

    循环结构在编程语言中是不可或缺的,所以Ruby中的循环也有其自定义的规则. 而我们关注循环结构,要知道两个因素:1) 循环的条件:2) 循环执行的内容 Ruby有一些方式来实现循环结构体: 1. times方法 在前面已经有提到过了,语法如下: 复制代码 代码如下: 循环次数.times do                    循环次数.times {       重复执行的动作                          重复执行的动作               end      

  • Ruby简明教程之判断语句介绍

    条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回true和false,这和java中的语法是类似的 2) 一些其他的方法也可以用来作为判断条件,比如,empty?方法,为空则返回true,否则返回false 3) 有些方法虽然不会返回true或false,但是也能作为条件判断的条件,他们返回的对象,要么是false或nil,要么是意义的对象,则可根据如下表格

  • Ruby简明教程之方法(Method)介绍

    Ruby做为面向对象语言,肯定要对对象进行相关的操作,这时候就涉及到方法了. 调用方法 - 对象.方法名(实参1,实参2,...,实参n) 方法的分类: 1. 实例方法:顾名思义,就是由实例来调用的方法.例如,"10, 20, 30, 40".split(",") 2. 类方法:就是由类来调用的方法.当创建一个实例时,则需要调用类方法. 复制代码 代码如下: a = Array.new  #创建一个新数组 File.rename(oldname, newname) 

  • Java基础教程_判断语句if else

    与三元运算符相比: 好处:可以简化if else 代码 弊端 因为是一个运算符,所以运算玩必须要有一个结果 以上这篇Java基础教程_判断语句if else就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Ruby简明教程之数组和Hash介绍

    今天学习的是数组和Hash,数组在很多编程语言中都能常常用到. 数组: 数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据:这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构. 1. 在Ruby中如何定义数组呢? 使用[ ]来框住元素,而元素之间则使用","间隔.如下, 复制代码 代码如下: name = ["Windy", "Cindy", "Amee", "Tom"]

  • 详细解读Ruby当中的条件判断语句

    Ruby的提供有条件结构,常见在现代编程语言中.在这里,我们将解释Ruby所有条件语句和修饰符 Ruby if...else 语句: 语法: if conditional [then] code... [elsif conditional [then] code...]... [else code...] end if 表达式用于条件执行.值为false和nil都是假的,其它的都是true.注意Ruby串使用的是elsif,不是else if也不是elif. if 条件为ture则执行代码.如果

  • virtualenv介绍及简明教程

    virtualenv简介 在开发Python应用程序的时候,我们的系统上通常只会安装一个Python版本:例如 3.7.所有使用 pip 安装的第三方包都会被安装到Python的site-packages目录下.如果我们同时开发多个应用程序,而这些应用程序需要使用的某一个第三方包的版本各不相同,该怎么办?这种情况下,为每个应用程序"独立"安装一套Python运行环境显然是不现实的.这个难题,使用 virtualenv 可以轻易解决. virtualenv 是专门用来为应用程序维护多套相

  • 详解Google Protobuf简明教程

    Protobuf是什么 Protobuf实际是一套类似Json或者XML的数据传输格式和规范,用于不同应用或进程之间进行通信时使用.通信时所传递的信息是通过Protobuf定义的message数据结构进行打包,然后编译成二进制的码流再进行传输或者存储. Protobuf的优点 相比较而言,Protobuf有如下优点: 足够简单 序列化后体积很小:消息大小只需要XML的1/10 ~ 1/3 解析速度快:解析速度比XML快20 ~ 100倍 多语言支持 更好的兼容性,Protobuf设计的一个原则就

  •  python 中的条件判断语句的使用介绍

    目录 1. 避免多层分支嵌套 2. 封装过于复杂的逻辑判断 3. 不同分支下的重复代码 4. 合理使用三元表达式 5. 常见技巧 5.1德摩根定律 5.2自定义类的魔法方法 5.3在条件判断中使用 all() / any() 5.4使用 try/while/for 中 else 分支 6. 常见陷阱 6.1与 None 值得比较 5.2and 和 or 的运算优先级 1. 避免多层分支嵌套 Python中利用缩进来替代 { }.如果多个 if 嵌套, 堪称 ” 嵌套 if 地狱 “ 下面的代码直

  • Python趣味入门教程之循环语句while

    前言 任何语言都有循环语句,在Python里循环更是变化无穷,有基本的循环,有循环else语句,引伸出来的还有迭代器.推导式,咱们先学习最简单的一种. While循环  while 条件判断语句: 子代码1 子代码2 子代码3 - 子代码N 主代码1 while语句的格式与if类似,子代码必须进行缩进4个空格,作用却是大不相同.当它执行第一次循环时,判断条件是否成立,如果条件成立,就从子代码1开始执行到子代码N,然后程序会回到while语句再次判断条件是否成立,如果成立就继续从子代码1开始执行,

随机推荐