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. 24最小生成树之Prim算法

    最小生成树的Prim算法 思想:采用子树延伸法 将顶点分成两类: 生长点——已经在生成树上的顶点 非生长点——未长到生成树上的顶点 使用待选边表: 每个非生长点在待选边表中有一条待选边,一端连着非生长 ...

  2. Zookeeper使用实例——服务节点管理

    分布式处理中,总会存在多个服务节点同时工作,并且节点数量会随着网络规模的变化而动态增减,服务节点也有可能发生宕机与恢复.面对着动态增减的服务节点,我们如何保证客户请求被服务器正确处理呢.我们可以通过z ...

  3. Azkaban-开源任务调度程序(使用篇)

    上篇文章说到了安装,这次说说使用 登录 https://localhost:8443 注意是https,采用的是jetty ssl链接.输入账号密码azkaban/azkanban(如果你之前没有更改 ...

  4. DOS操作系统的历史

    昨日(7月27日),微软公司的DOS操作系统迎来了30岁生日. DOS是历史上一个划时代的产品,标识着PC(个人电脑)的崛起和普及,对计算机行业影响深远. 只有了解DOS的历史,才能理解今天的计算机工 ...

  5. MyEclipse 相关设置

    1. MyElipse复制项目后,修改项目的发布名称的方式.右击你的项目,选择 properties -- > MyElipse -- > web,然后修改名称即可. 2. IDE查看源代 ...

  6. Linux基础命令---e2fsck

    ex2fsck 检查ext2.ext3.ext4文件系统,如果系统已经挂载了,那么不建议去检查,因为这样是不安全的.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.op ...

  7. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  8. python之路----logging模块

    函数式简单配置 import logging logging.debug('debug message') #bug logging.info('info message') #信息 logging. ...

  9. Socket和ServletSocket的交互

    ServerSocket(int port) 是服务端绑定port端口,调accept()监听等待客户端连接,它返回一个连接队列中的一个socket. Socket(InetAddress addre ...

  10. ACM题目————STL + 全排列

    今天碰到一个函数,感觉挺好用的,全排列函数 next_permutation! 求全排列的函数,基本上与自己写的DFS时间复杂度差不多,毕竟是标准库.(2018-1-4 添加) 话不多说,直接上题. ...