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. 如何访问tomcat所在服务器的其他盘符的资源。

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWA ...

  2. UVa 1349 - Optimal Bus Route Design(二分图最佳完美匹配)

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

  3. Git 初始化全局user.name 和 user.email

    git config --global user.name "username" git config --global user.email "email"

  4. Codeforces Round #527 (Div. 3) F. Tree with Maximum Cost 【DFS换根 || 树形dp】

    传送门:http://codeforces.com/contest/1092/problem/F F. Tree with Maximum Cost time limit per test 2 sec ...

  5. 使用 PHP Curl 做数据中转

    流程 收集头部信息 收集请求数据 转换头部信息为 CURL 头部请求格式 使用 Curl 进行转发 收集 HTTP 头信息 function getAllHeaders() { $headers = ...

  6. java使用类序列化反序列化(读写文件)

    创建类:Role package com.wbg.springRedis.entity; import java.io.Serializable; public class Role implemen ...

  7. Oracle创建表、修改表、删除表、约束条件语法

    一. 使用create关键字创建表 --(1)创建新表use 数据库(在那个数据库中建表)create table 表名(字段名1(列名) 数据类型 列的特征,字段名2(列名) 数据类型 列的特征(N ...

  8. 关于Date的冷门知识记录

    最近在做项目的时候,用到了Date.toLocaleString来处理当前日期.在这之前,我都是通过get*等方式来获取数据进行拼接.无意间,发现了toLocaleString方法.遂想写一篇文章来记 ...

  9. TCP/IP初识(一)

    TCP/IP学习记录,如有错误请指正,谢谢!!! 什么是TCP/IP协议? TCP/IP协议族分为四层(另一个名字是Internet协议族(Internet Protocol Suite)):链路层. ...

  10. 『ACM C++』 PTA 天梯赛练习集L1 | 042-43

    记录刷题情况 ------------------------------------------------L1-042--------------------------------------- ...