Ruby 判断

  Ruby 提供了其他现代语言中很常见的条件结构。在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符。

  Ruby if...else 语句

  语法

  if conditional [then]

  code...

  [elsif conditional [then]

  code...]...

  [else

  code...]

  end

  if 表达式用于条件执行。值 false 和 nil 为假,其他值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。

  如果 conditional 为真,则执行 code。如果 conditional 不为真,则执行 else 子句中指定的 code。

  if 表达式的 conditional 通过保留字 then、一个换行符或一个分号,来与代码分离开。

  实例

  #!/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

  如果 conditional 为真,则执行 code。

  实例

  #!/usr/bin/ruby

  $debug=1

  print "debug\n" if $debug

  这将产生以下结果:

  debug

  Ruby unless 语句

  语法

  unless conditional [then]

  code

  [else

  code ]

  end

  如果 conditional 为假,则执行 code。如果 conditional 为真,则执行 else 子句中指定的 code。

  实例

  #!/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

  如果 conditional 为假,则执行 code。

  实例

  #!/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

  比较 case 所指定的 expression,当使用 === 运算符指定时,执行匹配的 when 子句的 code。

  when 子句所指定的 expression 背当作左操作数。如果没有匹配的 when 子句,case 执行 else 子句的代码。

  when 语句的表达式通过保留字 then、一个换行符或一个分号,来与代码分离开。

  因此:

  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

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络)

雷林鹏分享:Ruby 判断的更多相关文章

  1. 雷林鹏分享:Ruby 循环

    Ruby 循环 Ruby 中的循环用于执行相同的代码块若干次.本章节将详细介绍 Ruby 支持的所有循环语句. Ruby while 语句 语法 while conditional [do] code ...

  2. 雷林鹏分享:Ruby 类和对象

    Ruby 类和对象 Ruby 是一种完美的面向对象编程语言.面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论. 一个面向对象的程序,涉及到 ...

  3. 雷林鹏分享:Ruby 正则表达式

    Ruby 正则表达式 正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合. 语法 正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的 ...

  4. 雷林鹏分享:Ruby CGI 编程

    Ruby CGI 编程 Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的. 使用Ruby您不仅可以编写自己的SMTP服务器,FT ...

  5. 雷林鹏分享:C# 判断

    C# 判断 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). 下面是大多数编程语言中典型的判断结构的一般形式: 判断语句 C ...

  6. 雷林鹏分享:Ruby 安装 - Windows

    Ruby 安装 - Windows 下面列出了在 Windows 机器上安装 Ruby 的步骤. 注意:在安装时,您可能有不同的可用版本. 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 R ...

  7. 雷林鹏分享:Ruby 安装 - Unix

    Ruby 安装 - Unix 下面列出了在 Unix 机器上安装 Ruby 的步骤. 注意:在安装之前,请确保您有 root 权限. 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 Ruby ...

  8. 雷林鹏分享:Ruby 命令行选项

    Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项 ...

  9. 雷林鹏分享:Ruby 语法

    Ruby 语法 让我们编写一个简单的 Ruby 程序.所有的 Ruby 文件扩展名都是 .rb.所以,把下面的源代码放在 test.rb 文件中. #!/usr/bin/ruby -w puts &q ...

随机推荐

  1. JVM内存模型:程序计数器

    一.JVM模型概述 java虚拟机(JVM)在java程序运行的过程中,会将它所管理的内存划分为若干个不同的数据区域,这些区域有的随着JVM的启动而创建,有的随着用户线程的启动和结束而建立和销毁.一个 ...

  2. hdu5145 莫队算法

    这题说的是个了n个数字 然后 在L 和R 区间内的数字的排列有多少种方案, 这里我们通过 将 这n长度的字符串 分成sqrt(n) 块然后 一个属性 他们的l 属于 那个快  以这个为第一关键字 ,然 ...

  3. python服务器端、客户端的模型,客服端发送请求,服务端进行响应(web.py)

    服务器端.客户端的模型,客服端发送的请求,服务端的响应 相当于启动了一个web server install web.py 接口框架用到的包 http://webpy.org/tutorial3.zh ...

  4. clock_gettime接口和linux时间系统

    RTC/OSCRTC,Real Time Clock,真实时钟,也叫做CMOS时钟,又叫walltimeOSC,Operation System Clock,系统时钟.在开机时操作系统取得RTC中的时 ...

  5. Python3.x:关于urllib中urlopen报错问题的解决方案

    Python3.x:关于urllib中urlopen报错问题的解决方案 调用:urllib.urlopen(url) 报错:AttributeError: 'module' object has no ...

  6. Linux(RedHat) 开机时修改root密码

    全程上图 开机的时候看到以下的界面, 按e进入编辑界面 然后就看到这个 再按一下e, 选择第二项 选中第二项后按e进入编辑界面, 输入single(记得有空格),然后回车, single就是启动单用户 ...

  7. C简介与环境配置

    C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的.C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现. 在 1978 年,布莱 ...

  8. jquery hover最后解决 - 不再疑惑 - 例子在这里

    hover具有动画累计的bug, 可以使用 stop 或 filter(:not(:animated))来消除, 但是, 即使这样, 当鼠标反复滑入或滑出的时候, 虽然没有动画累计的问题, 但是 下面 ...

  9. JavaScript 小知识

    1.var 变量 <script type="text/javascript"> var a = "hong"; var fun = functio ...

  10. poj 2449 Remmarguts' Date 求第k短路 Astar算法

    =.=好菜 #include <iostream> #include <cstdio> #include <string.h> #include <cstri ...