Ruby中的Range对象学习笔记
Range是范围对象的类,定义的时候可以使用范围操作符“..”或者“...”,“..”生成的范围对象包括起点和终点,“...”生成的范围对象不包括起点和终点,范围是由是一序列有顺序、有规律的元素对象组成,任何有顺序,有规律的一组对象,都可以用Range对象来定义,如数字、字母、字符串、甚至时间
1、Range对象的定义
r1=1..5 #定义范围对象r1,包括元素1,2,3,4,5
r2=Range.new(1,5) #等价与1..5
r3=1...5 #定义范围对象r3,包括元素2,3,4
r4=Range.new(1,5,true) #等价与1...5
2、Range对象的妙用
r=rand*100
rf=format('%.2f',r)
case r
when 90..100
puts "得分:#{rf} 成绩:优秀"
when 70..90
puts "得分:#{rf} 成绩:良好"
when 50..70
puts "得分:#{rf} 成绩:合格"
else
puts "得分:#{rf} 成绩:不合格"
end
通常我们进行一个时间的遍历是非常麻烦的一个过程,但是有了Range,这将会十分简单,如下示例代码:
#遍历2013-01-01至2013-02-28每一天,对象是Date
begin_date = Date.parse '2013-01-01'
end_date = Date.parse '2013-02-28'
r1=begin_date .. end_date
r1.each{|date| puts date}
#遍历abc-xyz所有字符串
r2='abc' .. 'xyz'
r2.each{|str| puts str}
#判断某个元素是否在某个范围内
r3='a'..'z'
puts r3==='A' #false
puts r3.include?'k' #true
puts r3.min #a
puts r3.max #z
puts r3.first(3) #a,b,c
puts r3.last(4) #w,x,y,z
相关推荐
-
在Ruby中处理日期和时间的教程
Time 类在 Ruby 中用于表示日期和时间.它是基于操作系统提供的系统日期和时间之上.该类可能无法表示 1970 年之前或者 2038 年之后的日期. 本教程将让您熟悉日期和时间的所有重要的概念. 创建当前的日期和时间 下面是获取当前的日期和时间的简单实例: #!/usr/bin/ruby -w time1 = Time.new puts "Current Time : " + time1.inspect # Time.now 是一个同义词 time2 = Time.now put
-
Ruby中访问SQL Server数据库的配置实例
因为工作需要,要分析存放在SQL Server上的数据,所以不得不研究一下如何使用Ruby访问SQL Server,发现其实还是很简单的: 安装FreeTDS 下载FreeTDS源代码 解压编译安装: 复制代码 代码如下: ./configure --prefix=/usr/local/freetds && make && sudo make install 安装Tiny_TDS Tiny_TDS,安装和使用非常简单,推荐使用: 复制代码 代码如下: sudo gem in
-
ruby声明式语法的实现例子
在ActiveRecord可以用很方便的声明方式来定义model之间的关联关系,例如: 复制代码 代码如下: class Topic < ActiveRecord::Base has_many :posts belongs_to :user end has_many和belongs_to其实是Topic类的class method,标准写法是: 复制代码 代码如下: class Topic < ActiveRecord::Base Topic.has_many(:posts)
-
Ruby中的Range对象学习笔记
Range是范围对象的类,定义的时候可以使用范围操作符".."或者"...",".."生成的范围对象包括起点和终点,"..."生成的范围对象不包括起点和终点,范围是由是一序列有顺序.有规律的元素对象组成,任何有顺序,有规律的一组对象,都可以用Range对象来定义,如数字.字母.字符串.甚至时间 1.Range对象的定义 复制代码 代码如下: r1=1..5 #定义范围对象r1,包括元素1,2,3,4,5 r2=Rang
-
Ruby中的String对象学习笔记
1.String对象定义 String对象的定义可以使用""和'',对于单纯的字符串,推荐使用''进行定义,效率比""高,""与''的区别在于,''内的字符串定义后就是最终形态,即使如\n换行符,也会原样输出,而""更像是一个表达式,解析器会针对其中的特殊字符进行处理,然后才会输出,如下示例代码: 复制代码 代码如下: i = 100 s1 = 'The value of i variable is #{i}!\n' #Th
-
python中关于数据类型的学习笔记
数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型: 1. 数字类型 Python数字类型主要包括int(整型).long(长整型)和float(浮点型),但是在Python3中就不再有long类型了. int(整型) 在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364:在
-
js中switch语句的学习笔记
switch 语句用于基于不同条件执行不同动作. 语法格式如下: switch(表达式) { case n: 代码块 break; case n: 代码块 break; default: 默认代码块 } 代码解释: 计算一次 switch 表达式: 把表达式的值与每个 case 的值进行对比: 如果存在匹配,则执行关联代码. 如下: switch (new Date().getDay()) { case 0: day = "星期天"; break; case 1: day = &quo
-
C++中的vector容器对象学习笔记
C++中数组很坑,有没有类似Python中list的数据类型呢?类似的就是vector! vector 是同一种类型的对象的集合 ,每个对象都有一个对应的整数索引值.和 string 对象一样,标准库将负责管理与存储元素相关的内存. 我们把 vector 称为容器,是因为它可以包含其他对象 . 一个容器中的所有对象都必须是同一种类型的 . vector对象的定义和初始化 同样的,使用前,导入头文件#include <vector> 可以使用using声明:using std::vector;
-
浅析Ruby中的类对象的概念
面向对象的程序涉及类和对象. 一个类是蓝本,从个别对象被创建.在面向对象的术语,我们说小明的自行车是被称为自行车类的对象实例. 任何车辆的例子.它包括轮子,马力,燃油或燃气罐容量.这些特点形成的类车辆的数据成员.可以从其他车辆区分这些特征. 车辆也有一定的功能,如停止,驾驶,超速驾驶.即使这些功能形成的类车辆的数据成员.因此,可以定义一个类作为一个组合的特点和功能. 车辆类可以被定义为: Class Vehicle { Number no_of_wheels Number horsepower
-
javascript类型系统 Array对象学习笔记
数组是一组按序排列的值,相对地,对象的属性名称是无序的.从本质上讲,数组使用数字作为查找键,而对象拥有用户自定义的属性名.javascript没有真正的关联数组,但对象可用于实现关联的功能 Array()仅仅是一种特殊类型的Object(),也就是说,Array()实例基本上是拥有一些额外功能的Object()实例.数组可以保存任何类型的值,这些值可以随时更新或删除,且数组的大小是动态调整的 一.数组创建 与Javascript中的大多数对象一样,可以使用new操作符连同Array()构造函数,
-
js内置对象 学习笔记
mark相关的知识点: 首先,什么是js的内置对象,它包括了些什么内容?(以下内容转自网上资源的整合) (W3shool JS手册地址:http://www.jb51.net/w3school/js/js_reference.htm) 作为一门编程语言,JavaScript提供了一些内置的对象和函数.内置对象提供编程的几种最常用的功能.JavaScript内置对象有以下几种. ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储
-
javascript类型系统 Window对象学习笔记
window对象是Web浏览器中javascript的一个终极兜底儿对象,在作用域中处于最末端,是一个包含所有对象的对象.所有在全局作用域中定义的属性和函数都是window对象的属性 var myStringVar = 'myString'; var myFunctionVar = function(){}; console.log('myStringVar' in window);//true console.log('myFunctionVar' in window);//true 1.引用
-
重温JavaScript中的正则表达式 js学习笔记
一.创建正则表达式 创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符,另一个是采用字面量方式. 复制代码 代码如下: var dog = new RegExp('dog'); // 第一个参数字符串 var dog = new RegExp('dog', 'ig'); // 第二个参数可选模式修饰符 var dog = /dog/; var dog = /dog/ig; //字面量方式. RegExp 对象包含两个方法 : test() 和 exec
随机推荐
- win2003文件夹权限设置脚本代码
- Oracle 游标使用总结
- 对象标记具有无效的 'MSWC.MyInfo' ProgID
- mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录
- 运维角度浅谈MySQL数据库优化(李振良)
- node.js中的fs.fsyncSync方法使用说明
- ASP程序给上传的图片增添水印效果!
- 用div实现像table一样的布局方法
- Apache 多端口多站点配置方法
- 详解Linux文本文件与WIN文本文件换行格式转换命令
- 获取SQL Server表字段的各种属性实例代码
- MongoDB修改数据的2种方法
- Popup弹出框添加数据实现方法
- readme.txt之弹出免费点歌病毒的清除方法
- 不可不知的Google搜索窍门
- 处理 SSI 文件时出错的解决方法
- Url相对路径的问题总结
- C#实现将DataTable内容输出到Excel表格的方法
- iOS使用Target如何快速科学的区分开发环境详解
- JS实现数组的增删改查操作示例