1.条件语句
  • if
  • unless
  • case
       unless和if相反,条件不成立则执行

 

2.条件  除了 false和nil 其他都是true

 

3.unless 语法
    
       unless 条件
             处理
       end

 

4.case语句

 

case 比较对象
      when 值1
      when 值2
      when 值3
      else
      end

 

when后面,ruby是用'==='做比较,'==='比较,
                   数值和字符串则比较值相等
                   还可以比较'比较对象'是否属于某一类型
                   还可以比较正则表达式是否匹配
                   还可以比较是否属于一个范围
       另外when指定的对象在'==='左边
    
5.if unless修饰符

  • puts "a比b大" if a>b
  • puts "a不大于b" unless a>b
6.对象标识
  • some.object_id 或者 some.__id__取得对象标示
  • equal?方法判断两个对象id是否一致,是否指向同一个对象
  • ==判断对象值是否相等
  • eql? 严谨判断是否相等 1.0==1 =>true   1.0 eql? 1=> false hash比较用eql?
 

#encoding:GBK
#比较 条件
#

 
 

conents=['luo',1,"ming",23]

 

if conents[1] > 0
     puts "conents[1]>0"
end

 

unless conents[1] != 1
     puts "conents[1]==1"
end

 

for item in conents
     case item
     when String       #匹配类型
          puts "item is String"
     when /ing/        #匹配正则表达式
          puts "item match ing"
     when 0..3         #匹配范围
          puts "item between 0 ,3 "
     when 12,13,23,25  #匹配枚举
          puts "one of [12,13,23,25]"
     else
          puts "nothing match"
     end
end

 

a=10
b=20
c=a
d=10

 

puts "a比b大" if a>b
puts "a不大于b" unless a>b

 

puts a.object_id
puts a.__id__
puts b.object_id

 
 

if a.equal?(c)
     puts "a和c是一个对象"
end

 

if a==d
     puts "a的值等于d的值"
end
if a.equal?(d)
     puts "a和d不是一个对象"
end

Ruby 基础教程1-5的更多相关文章

  1. 1月10日 ruby基础教程,查漏补缺; 2月22日 Exception补充

    https://ruby-doc.org/core-2.5.0/Exception.html 1月20日练习完1,2章. 第一章 初探 ‘’单引号不执行转义符. \t 制表符.\n 换行符. p me ...

  2. Ruby基础教程

    一.Ruby基础知识 1.关于Ruby Ruby是脚本语言 Ruby是面向对象语言 Ruby是跨平台语言 Ruby是开放源码软件 2.Ruby入门书籍推荐 <Ruby.Programming向R ...

  3. Ruby 基础教程 第二部分 Ruby 的基础 第4章

    第二部分 Ruby 的基础 第4章~第6章 这一部分是 Ruby 编程需要遵守的规则. 第四章 对象,变量与常量 对象 & 类 对象的常见种类: 数值对象 字符串对象 数组.散列对象 正则表达 ...

  4. Ruby 基础教程 第一部分总结

    第一部分:Ruby 初体验 第一章: Ruby 初探 前言 开头的这一章节讲了一些十分基础的内容,重要的几个话题有: ruby 命令的执行方法 对象.方法的概念 常见的打印方法 ruby 命令的执行方 ...

  5. Ruby 基础教程1-4

    1.对象 数值对象 字符串对象 数组对象,散列对象 正则表达式对象 时间对象 文件对象 符号对象 2.类 Numeric String Array Hash Regexp File Symbol 3. ...

  6. Ruby 基础教程 1-1

    1.指定编码方式       第一种 在代码文件首行通过 #encoding:GBK的方式     第二种  ruby -E UTF-8 文件名称     第三种  irb  -E UTF-8   2 ...

  7. Ruby基础教程 1-10

    类结构 1.数值类结构     Fixnum到Bignum会自动转换   2.常用数值表示   3. ans=10.divmod(3) ans[0]是商  ans[1]是余数   4.实例方法roun ...

  8. Ruby 基础教程1-9

    异常 1.异常结构      [ begin]          ...     rescue         [retry]          ...     [ensure]          . ...

  9. ruby 基础教程1-8-1

    1.":class, instance_of?, :is_a?"都是Object类的方法,每个对象都可以调用 2.":class"方法用户获取对象归属类的名称 ...

随机推荐

  1. UVa 1626 - Brackets sequence(区间DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. how to design Programs 学习笔记

    how to design Programs 学习笔记 */--> how to design Programs 学习笔记 目录 1. 前言 1.1. 系统化程序设计 1.2. 输入和输出 2. ...

  3. [19/04/01-星期一] IO技术_字节流分类总结(含字节数组(Array)流、字节数据(Data)流、字节对象(Object)流)

    一.字节流分类概括 -->1.ByteArrayInputStream /ByteArrayOutputStream(数组字节输入输出)        InputStream/OutputStr ...

  4. 1.springboot:入门项目

    简介: Springboot 来简化spring应用开发,约定大于配置,去繁从简,just run 就可以创建一个独立的,产品应用 背景: J2EE笨重开发,繁多的配置,低下的开发效率,复杂的部署流程 ...

  5. shiro权限配置的细节问题&认证

    细节: ---[urls]部分配置,其格式是    url=拦截器[参数] ,拦截器[参数] ---如果当前请求的 url 匹配 [urls] 部分或者某个url模式,将会执行配置的拦截器 ---an ...

  6. Vue教程:指令与事件(二)

    一.插值 v-once 通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新.但请留心这会影响到该节点上所有的数据绑定: span v-once>这个将不会改 ...

  7. Swift_函数

    Swift_函数 点击查看源码 定义和调用函数 //定义和调用函数 func testDefiningAndCallingFunctions() { func sayHello(_ personNam ...

  8. 初窥UIKit Dynamics

    原文来自这里. iOS7中可以方便的给物体添加动态物理特性,主要使用到UIDynamicAnimator,UIDynamicBehavior以及实现了UIDynamicItem协议的对象.在iOS7中 ...

  9. js中数组的api整理

    首先列出所有的方法: join(), sort(), slice(), splice(), concat(), reverse(), push()+pop(), shift()+unshift(), ...

  10. vscode调试html文件

    1. vscode调试html文件 1.1. 使用Debugger for Chrome进行调试 1.1.1. 基于本地file配置方式调试 1.1.2. 基于服务端配置方式调试 1.1.2.1. 启 ...