Ruby 基础教程1-5
- if
- unless
- case
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
- 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月10日 ruby基础教程,查漏补缺; 2月22日 Exception补充
https://ruby-doc.org/core-2.5.0/Exception.html 1月20日练习完1,2章. 第一章 初探 ‘’单引号不执行转义符. \t 制表符.\n 换行符. p me ...
- Ruby基础教程
一.Ruby基础知识 1.关于Ruby Ruby是脚本语言 Ruby是面向对象语言 Ruby是跨平台语言 Ruby是开放源码软件 2.Ruby入门书籍推荐 <Ruby.Programming向R ...
- Ruby 基础教程 第二部分 Ruby 的基础 第4章
第二部分 Ruby 的基础 第4章~第6章 这一部分是 Ruby 编程需要遵守的规则. 第四章 对象,变量与常量 对象 & 类 对象的常见种类: 数值对象 字符串对象 数组.散列对象 正则表达 ...
- Ruby 基础教程 第一部分总结
第一部分:Ruby 初体验 第一章: Ruby 初探 前言 开头的这一章节讲了一些十分基础的内容,重要的几个话题有: ruby 命令的执行方法 对象.方法的概念 常见的打印方法 ruby 命令的执行方 ...
- Ruby 基础教程1-4
1.对象 数值对象 字符串对象 数组对象,散列对象 正则表达式对象 时间对象 文件对象 符号对象 2.类 Numeric String Array Hash Regexp File Symbol 3. ...
- Ruby 基础教程 1-1
1.指定编码方式 第一种 在代码文件首行通过 #encoding:GBK的方式 第二种 ruby -E UTF-8 文件名称 第三种 irb -E UTF-8 2 ...
- Ruby基础教程 1-10
类结构 1.数值类结构 Fixnum到Bignum会自动转换 2.常用数值表示 3. ans=10.divmod(3) ans[0]是商 ans[1]是余数 4.实例方法roun ...
- Ruby 基础教程1-9
异常 1.异常结构 [ begin] ... rescue [retry] ... [ensure] . ...
- ruby 基础教程1-8-1
1.":class, instance_of?, :is_a?"都是Object类的方法,每个对象都可以调用 2.":class"方法用户获取对象归属类的名称 ...
随机推荐
- Server Error in '/' Application. 报错
控制面板--管理工具--服务--asp.netstate service 设置为自动,并启动
- vue - 简单实例(vue-router + webpack + vuex)
分享 + 实践 基于公司部分产品技术栈转型使用vue,部分同事需要学习一下,快速上手,那么我很荣幸的成为了给大家分享vue技术栈的‘ ’导师‘,在这里我分享一下: 讲解大纲为:(我是有一份PPT的, ...
- 以ADO形式操作mysql数据库
首先得需要一个连接mysql的helper类: public class MySqlHelper { #region [ Connection ] public static string conne ...
- java序列化报错
Main.javat mainsr &java.util.Collections$UnmodifiableList�%1�� L listq ~xr ,java.util.Collection ...
- HDU 2717 Catch That Cow(常规bfs)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2717 Catch That Cow Time Limit: 5000/2000 MS (Java/Oth ...
- C# 5.0中使用CallerMemberName、CallerFilePath和CallerLineNumber获取代码的调用方信息(转载)
很多时候,我们需要在运行过程中记录一些调测的日志信息,如下所示: public void DoProcessing() { TraceMessage("DoProcessing()被XXX调 ...
- div自适应水平垂直居中的方法
1.Flexbox布局: display:flex; justify-content:center; align-items:center; width:100%; 2.Bootstrap栅格布局 一 ...
- 【译】为什么要写super(props)
译注: 原文地址 https://overreacted.io/why-do-we-write-super-props/ 正文 我听说Hooks是新的热点.好笑的是,我想通过描述一些关于class组件 ...
- react系列(六)Redux Saga
在Redux中常要管理异步操作,目前社区流行的有Redux-Saga.Redux-thunk等.在管理复杂应用时,推荐使用Redux-Saga,它提供了用 generator 书写类同步代码的能力. ...
- Notes 20180306 : 变量与常量
1.1 变量与常量 我们在开发中会经常听到常量和变量,那么常量和变量指的又是什么呢?顾名思义,在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量.变量与常量的命名都必须使用合法的标 ...