详细解读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则执行代码。如果条件不为ture,那么将执行else子句中指定的代码。

if 表达式的条件是保留字,那么,一个换行符或分号分开代码。
实例:

#!/usr/bin/ruby

x=1
if x > 2
  puts "x is greater than 2"
elsif x <= 2 and x!=0
  puts "x is 1"
else
  puts "I can't guess the number"
end

x is 1

Ruby if 修辞符:
语法:

code if condition

if条件为真执行代码。
实例:

#!/usr/bin/ruby

$debug=1
print "debug\n" if $debug

这将产生以下结果:

debug

Ruby unless 语句:
语法:

unless conditional [then]
  code
[else
  code ]
end

如果条件为false,执行代码。如果条件是false,else子句中指定的代码被执行。
例如:

#!/usr/bin/ruby

x=1
unless x>2
  puts "x is less than 2"
 else
 puts "x is greater than 2"
end

这将产生以下结果:

x is less than 2

Ruby unless 修辞符:
语法:

code unless conditional

执行代码,如果有条件的话为false。
实例:

#!/usr/bin/ruby

$var = 1
print "1 -- Value is set\n" if $var
print "2 -- Value is set\n" unless $var

$var = false
print "3 -- Value is set\n" unless $var

这将产生以下结果:

1 -- Value is set
3 -- Value is set

Ruby case 语句
语法:

case expression
[when expression [, expression ...] [then]
  code ]...
[else
  code ]
end

比较表达式指定的情况下,使用===运算符时,按指定的条款相匹配时执行的代码。

子句计算 when 与左操作数指定的表达式。如果没有子句匹配时,情况下执行的代码else子句。

when 语句的表达保留字,那么,一个换行符或分号分开代码。

那么:

case expr0
when expr1, expr2
  stmt1
when expr3, expr4
  stmt2
else
  stmt3
end

基本上类似于以下内容:

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
  stmt1
elsif expr3 === _tmp || expr4 === _tmp
  stmt2
else
  stmt3
end

实例:

#!/usr/bin/ruby

$age = 5
case $age
when 0 .. 2
  puts "baby"
when 3 .. 6
  puts "little child"
when 7 .. 12
  puts "child"
when 13 .. 18
  puts "youth"
else
  puts "adult"
end

这将产生以下结果:

little child
(0)

相关推荐

  • 利用RJB在Ruby on Rails中使用Java代码的教程

    开始之前 关于本教程 Ruby on Rails (Rails) 是用 Ruby 编写的一个 full-stack Web 应用程序框架,而 Ruby 是一种功能丰富的.免费的.可扩展的.可移植的.面向对象的脚本编制语言.Rails 在 Web 应用程序开发人员之间非常流行.通过它,可以快速有效地开发 Web 应用程序,并将其部署到任何 Web 容器中,例如 IBM? WebSphere? 或 Apache Tomcat. 在 Rails 和类似的 Web 应用程序开发框架出现之前,用于 Web

  • 几个加速Ruby on Rails的编程技巧

    Ruby 语言常以其灵活性为人所称道.正如 Dick Sites 所言,您可以 "为了编程而编程".Ruby on Rails 扩展了核心 Ruby 语言,但正是 Ruby 本身使得这种扩展成为了可能.Ruby on Rails 使用了该语言的灵活性,这样一来,无需太多样板或额外的代码就可以轻松编写高度结构化的程序:无需额外工作,就可以获得大量标准的行为.虽然这种轻松自由的行为并不总是完美的,但毕竟您可以无需太多工作就可以获得很多好的架构. 例如,Ruby on Rails 基于模型-

  • 使用Ruby实现简单的事物驱动的web应用的教程

    简介 对 Web 应用程序来讲,自动化的集成测试是一个非常重要的部分, 然而由于这些测试用例太依赖具体的 Web 页面的实现细节,这就给编写和维护带来的很大的挑战. 通常来讲有两种方法可以生成 Web 应用程序测试用例. 手工编写脚本:测试人员需要知道 Web 页面上有哪些表单.输入框.选择框.按钮等,以及这些表单元素的名称,ID 等属性,然后才能利用一些工具来编写测试用例.     通过工具录制生成:比如 IBM Rational Functional Tester 就提供了录制用户在 Web

  • 详细解读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则执行代码.如果

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

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

  • 全面掌握Java中的循环控制语句与条件判断语句的使用

    循环控制 可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环. Java有非常灵活的三循环机制.可以使用以下三种循环之一: while 循环 do...while 循环 for 循环 截至Java5,对增强的for循环进行了介绍.这主要是用于数组. while 循环 while循环是一个控制结构,可以重复的特定任务次数. 语法 while循环的语法是: while(Boolean_expression) { //Statements } 在执行时,如果布尔表达式的结果为真,则循环中

  • 浅谈Python的条件判断语句if/else语句

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户的年龄,根据年龄打印不同的内容... Python程序中,能让计算机自己作出判断的语句就是if语句: 例: age = 25 if age >= 18: print "your age is %d, you are a adult." % age 根据python的缩进规则,如果if语句的条件判断为True,就执行缩进的内容,即print执行,否则,什么也不会做. 当然,也可以给if添加一个else语句,

  • 快速入门Shell脚本之条件判断语句与循环

    相信大家已经对shell脚本有一定的了解了,大家对于shell脚本的条件判断语句一定非常期待.本篇博客,我们来聊一聊关于shell的条件判断语句与循环. 1.条件判断 1.1基本语法 [condition] 注意: condition前后要有空格 条件非空既为true,[atguigu]发回true,[]返回false 1.2.常用的判断条件 (1)两个整数之间比较 = 字符串比较 -lt 小于(less than) -le 小于等于(less equal) -eq 等于(equal) -gt

  • mybatis if test条件判断语句中的判断问题分析

    目录 iftest条件判断语句中的判断问题 我在mybatis中定义的sql语句如下 或使用equals() mybatis中iftest判断大坑 使用Mybatis时,常常会判断属性是否为空 原因分析 if test条件判断语句中的判断问题 写这个主要是描述在mybatis中要注意的问题,很不幸,自己没注意,跳坑了. 我在mybatis中定义的sql语句如下 <if test="facilityOccupied != null and facilityOccupied != '' and

  •  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 地狱 “ 下面的代码直

  • shell脚本语言之if条件判断语句实例详解

    目录 1.单分支if条件语句 1.1举例:判断目录是否存在,不存在则创建 2.双分支if条件语句 2.1举例:监听并自动重启apache服务脚本 3.多分支if条件语句 3.1举例:判断用户输入的是文件还是目录 4.case条件语句 4.1举例:创建启动脚本,让service命令管理apache 4.2举例:创建启动脚本,让service命令管理nginx 总结 1.单分支if条件语句 then后面跟符合条件之后执行的程序,可以放在[]之后,用;分隔.也可以换行写入, 就不需要“;”了. 比如:

  • Python学习之if 条件判断语句

    目录 1.基本 if 条件语句: 2.嵌套 if 语句 3.if 和 elif 搭配使用: 4.if 语句中 pass 总结 if 语句是判断语句 常常搭配else一起使用 if 后面紧跟的是判断条件然后以":"结尾,下一行缩进后则是输出的结果 else 则与对应的if持平不用再次缩进因为他们是互相呼应的 elif 则是补充的判断语句,会出现在 if 与 else 之间,并且它与对应 if 与 else 持平不用再次缩进, elif 是一个缩写的词语elif = else if  ,稍

  • Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not连接,expr_true_suite是代码块,expression为true时执行,代码块如果只有一行,上面的整个条件语句便可全部写到一行,但可读性差. 带elif和else的条件语句: if expression1: expr1_true_suite elif expression2: expr2

随机推荐