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"方法用户获取对象归属类的名称 ...
随机推荐
- crm动态载入js库
function load_script(url) { var xmlHTTPRequest; if (window.ActiveXObject) { xmlHTTPR ...
- libconfig C++ 学习笔记
1. C++API 头文件 #include <libconfig.h++> ,命名空间:using namespace libconfig; 2.多线程使用问题: (1)libconfi ...
- js 页面 json对象转数组
json_array(data); function json_array(data){ var len=eval(data).length; var arr=[]; for(var i=0;i< ...
- Sublime 快捷键一览表
Sublime Text 快捷键一览表 Sublime Text比起Notepad++,UltraEdit之类Code编辑器来说,其功能有过之而无不及,配合着各种插件使用,Sublime Text在实 ...
- [转]MFC子线程更改图像数据后更新主窗口图像显示方法
程序思路是由外部的输入输出控制卡发出采集图像信号,之后相机采集图像得到图像数据指针,接收图像数据指针创建成图像最后显示到MFC对话框应用程序的Picture Control控件上,同时,为了标定相机位 ...
- JavaScript在浏览器中把文本保存为文件的方法
JavaScript在浏览器中把文本保存为文件的方法 经过测试第二种方法可以保存更多的文本不至于卡死 var saveTextAsFile1 = function (text, fileName, s ...
- 十四、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制
在我们用 IntelliJ IDEA 向 SVN 或者 Git 提交代码的时候,IntelliJ IDEA 提供了一个自动分析代码的功能,即Perform code analysis: 如上图所示,当 ...
- [转]C#如何获取客户端IP地址
代码如下: /// <summary> /// 获取客户端IP地址 /// </summary> /// <returns></returns> ...
- HDU 2097 sky数 (进制转化)
传送门: Sky数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- OC和C语言比较
说明:比较记忆相对来说更容易熟练记得牢固,理解了C语言相对来说OC也不太难,OC是C语言的扩展,向下兼容C语言. 源文件后缀名比较 1.C语言源文件 .h:头文件 .c:源文件 .o:目标文件 .ou ...