1、if

if a==1 then puts "ok" end  #单行的写法if a==1; puts "ok" end #也可以这样if a==1 then puts "ok";puts "ok"; end #单行多语句
if a==1;puts "ok";puts "ok"; end #这样写就太恶心了

从上面可以看出,ruby相当自由,但是从可读性、不易出错……等等考虑,单行多语句if建议采用第三种写法,即:

if 条件 then 语句1;语句2; end

单行单语句常常写成:

puts "ok" if a==1

多行更清晰:

if a==1puts "ok"
end

2、if else

if a==1puts "ok"
elseputs "no"
end

if a==1puts "ok"
elsif a==2  #elsifputs "no"
elseputs "err"
end

3、unless

在ruby中应用相当广泛,有滥用的趋势。

先看一个if:

if a!=1puts "ok"
end

可以写成:

unless a==1puts "ok"
end

以下写法应用最广:

puts "ok" unless a==1  #非常接近于自然语言,被外国人广泛应用

4、case when

就是C、Java或者C#中的switch  case。

case a
when 1puts "ok"
when 2puts "no"
elseputs "err"
end

当然,when的内容很广泛,数值、字符串、区间、正则表达式……统统可以,不像C语言只能是int。

转载于:https://www.cnblogs.com/chengguyun/archive/2011/06/21/2086134.html

[Ruby][3] 条件语句相关推荐

  1. Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)

    Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...

  2. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  3. python 条件选择语句_Python趣味入门4:选择往往是最重要的-条件语句

    人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用Python来行顺序语句的编写,我们写了一个可以输入姓名的生日祝贺程序,今天我们挑战条件语句! 1. ...

  4. day1简述、输入输出、运算符、条件语句、文件读写、三元运算

    文章目录 1.Python 简述 2.变量 3.输入输出 4.数据运算 5. 条件语句 if..else.elif 循环语句 for.while 6.文件读写 7.三元运算 1.Python 简述   ...

  5. R语言If、Else条件语句实战

    R语言If.Else条件语句实战 目录 R语言If.Else条件语句实战 # if()函数和else() 函数 # ifelse函数

  6. 包教包会!7段代码带你玩转Python条件语句(附代码)

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

  7. Python进阶之路 3.4.2 条件语句(if、else和elif)

    3.4.2 条件语句(if.else和elif) 对于计算机程序来说,要学会第一项技能就是"判断",也就是根据不同的条件,执行不同的程序分支,这样的程序才有意义. if语句的作用就 ...

  8. ASP条件语句之IF语句

    条件语句之 if ... then ... else 语句 用来判断条件是 true 或 false ,并根据判断结果来执行指定的语句,通常条件是用比较运算符对值或变量进行比较来表达. if ... ...

  9. Ansible9:条件语句【转】

    在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,从而需要使用到条件语句. 一.when     有的时候在特定的主机需要跳过特定的步骤,例如在安装包的时候,需要指定主机的操作系 ...

最新文章

  1. 【Python】轻松识别文字,这款Python OCR库支持超过80种语言
  2. linux下安装mysql的方式_linux下安装mysql的两种方式
  3. 设计模式C++实现(11)——装饰模式
  4. 【Spark】Spark调优 JVM调优
  5. Gstreamer的一些基本概念与A/V同步分析
  6. Android 常用数据操作封装类案例
  7. 机器学习与深度学习基础概念介绍
  8. SPSS-非参数检验
  9. Django-rq任务失败自动重试
  10. pon终端测试仪_PON产品测试方案
  11. 怎么把线稿提取出来_PS怎么扣抠线稿?Adobe Photoshop CS6如何提取清晰的线稿
  12. 排球分组循环交叉编排_第九届“理工杯”学生排球比赛正式拉开帷幕
  13. 什么是JTAG及JTAG接口简介
  14. Java 基础语法(1)- 注释、标识符、关键字
  15. 计算机测试培训经历,学习经历经验分享
  16. Android 声音分贝控制锁屏demo实现
  17. el-drawer隐藏滚动条(兼容firefox浏览器)
  18. Flink:start-cluster.sh启动单节点的时候taskmanager未启动
  19. 为什么要挤兑 Ubuntu?
  20. SpringBoot和SpringCloud配置

热门文章

  1. Hive学习笔记 —— Hive的安装
  2. 深度学习笔记三:Softmax Regression
  3. 【正一专栏】瓜迪奥拉就是一座无可匹及的丰碑
  4. 机器学习笔记(十六)强化学习
  5. Leetcode 162. 寻找峰值 解题思路及C++实现
  6. java自定义日志级别_自定义log4j日志级别
  7. delimiter mysql报错_MySql中的DELIMITER错误
  8. 默认访问首页 || 国际化||设置全局字符编码的默认设置
  9. java的知识点15——String基础、String类和常量池、String类常用的方法、字符串相等的判断、组合模式
  10. PL/SQL 数据库连接工具的下载、安装与使用实例演示