转自[foreverphoenix的专栏]
数字
1、Ruby支持整数和浮点数。整数可以使任何长度。一定范围内的整数是Fixnum类的对象。范围之外的整数存储在Bignum类的对象中。这种处理是透明的。
2、可以在一个ASCII字符前加一个问号来获得其对应的整数值。Ctrl组合键可以由?\C-x或?\cx(x&0x9f)来产生。Meta字符(x|0x80)可以由?\M-x来产生。
3、一个带有小数点"或/和"指数的数字字面量被认为是Float对象。Float对象和本机上的double类型大小一样。
4、Float精度有限,若需要更好精度的小数,可以使用标准库中BigDecimal,但效率会受影响。
字符串
1、字符串字面量中可以放置各种转义序列。字符串分界符的类型决定了要被替换的程度。在单引号字符串中,只识别反斜线和单引号的转义。双引号字符串支持更多的转义字符,还可以使用#{expr}把任何Ruby表达式的值放进字符串中,其中如果expr是全局变量、类变量或实例变量的话,花括号可以忽略。
2、另外有三种构建字符串字面量的形式:%q(相当于单引号),%Q(相当于双引号),here document。跟在q或Q后面的字符是分界符。分界符可以是任何一个非字母数字的单字节字符。字符串被一直读取直到出现下一个相同的(对({[<来说是对应的闭合符号) 分界符。Here document由源文件中的那些行但没有包含在<<字符后面指明终结字符串的行组成。一般情况下终结符必须在第一列出现。如果把一个减号-放在<<字符后面,就可以缩进编排终结符。分隔符可以跨越多行,行结束符以及后续行开始处的空格都被包含到字符串中。
3、其他用于字符串的分隔符还有%w(%W)生成字符串数组,%x执行shell命令,%r生成正则表达式。
4、Ruby字符串是8位字节序列。如果处理Unicode编码,需要加入以下代码:(jcode库覆盖了String类中大多数方法用来处理多字节文本) $KCODE='u' require 'jcode'
5、正则表达式的三种表达方式:1)/regular_expression/ 2)Regexp.new(“regular_expression”) 3)%r{regular_expression}
区间
1、区间作为序列,”..”的形式是创建闭合的区间(包括右端的值),”…”的形式是创建半闭半开区间(不包括右端德值)。
2、可以用自定义的对象来创建区间,条件是这些对象必须实现succ方法和<=>。
3、区间作为条件使用,当区间的第一部分的条件为true时打开,当区间的第二部分的条件为true关闭。两点的range在第一次从关变为开时,会立即求解结束条件,并相应地变迁状态。这意味着如果expr1和expr2在一个调用中都为真,那么两点形式的调用将结束于关状态。不过该调用仍返回真。三点形式的range不会在进入开状态后立即求解结束条件。
4、区间作为间隔,测试某些值是否会落入区间表达的间隔内。使用===操作符比较。
数组
1、数组类的字面量是在方括号间由逗号分隔的一连串对象引用组成的。对于全部是字符串对象的数组,可以用简写形式%w和%W来构成。%w形式将空格隔开的token提取为连续的数组元素,在单个字符串内不执行替换。%W形式对每个token执行和双引号字符串一样的替换规则,空格可以用反斜线转义。
2、通过[index]访问数组元素,第一个元素索引为0。索引可以为负值,-1表示最后一个元素。
散列表
1、散列表的初始化有两种方式:{}中用key=>value的形式,[]中连续放置key,value,中间用逗号隔开。
2、散列表中的键如果使用equ?比较相等,那么这两个键必定具有相同的散列码。如果把自定义类的对象实例作为hash键,那么需要确保1)一旦对象被创建,它的散列码就不再改变;2)每当键的散列码发生变化时调用Hash#rehash方法重新对散列表进行索引。
符号
1、Ruby中Symbol 表示“名字”,比如字符串的名字,标识符的名字。创建一个Symbol对象的方法是在名字或者字符串前面加上冒号。每个String对象都是不同的,即便他们包含了相同的字符串内容;而对于Symbol对象,一个名字(字符串内容)唯一确定一个Symbol对象。名字相同,则Symbol相同;名字不同,则Symbol不同。Symbol对象一旦定义将一直存在,直到程序执行退出。所有Symbol对象存放在Ruby内部的符号表中,可以通过类方法Symbol.all_symbols得到当前Ruby程序中定义的所有Symbol对象,该方法返回一个Symbol对象数组。
分享到:
相关推荐
### Ruby 数据类型详解 #### 基本概念 在编程语言Ruby中,数据类型是程序设计的基础之一。本文档将详细介绍Ruby支持的各种数据类型及其用途,帮助开发者更好地理解和使用这些类型来构建高效、灵活的应用程序。 ##...
Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型。 Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。 ...
概括、ruby中的基本数据类型都是类类型,只不过为了书写和阅读的方便,为基本数据类型提供了较为简洁的书写方式而已。 一、数值类型 整数支持二进制,八进制,十进制,十六进制,根据整数的大小动态决定整数是Fixnum...
请列举几种常见的Ruby数据类型。 Ruby支持多种基本数据类型,包括但不限于: - **整型** (`Integer`) - **浮点型** (`Float`) - **字符串** (`String`) - **布尔型** (`TrueClass`, `FalseClass`) - **数组** (`...
6. **Ruby C API**:对于想要深入到Ruby底层的开发者,书中有章节介绍如何使用Ruby的C API来扩展Ruby,创建C语言编写的Gem,这包括了如何创建Ruby对象、调用Ruby方法和处理Ruby数据类型等。 7. **调试与性能优化**...
### Ruby 数据类型及操作 #### 数字类型 - **Number**: 包括整数 (`int`) 和浮点数 (`float`)。 - 整数:用于表示没有小数部分的数值。 - 浮点数:用于表示包含小数部分的数值。 #### 字符串类型 - **String**: ...
- **符号(Symbol)**:一种特殊的Ruby数据类型,用作标识符,比字符串更高效。 - **控制结构**:包括条件语句(如if/else)、循环(如while/do...while)等,用于控制程序流程。 - **正则表达式(Regular ...
Ruby变量与数据类型 Ruby控制结构 Ruby函数与方法 Ruby面向对象编程 Ruby模块与包 Ruby错误处理 Ruby文件与I/O操作 Ruby正则表达式 Ruby网络编程 Ruby数据库交互 Ruby测试框架 RubyWeb框架Rails入门 Ruby高级特性 ...
### Ruby基础知识-数据类型 #### 一、概览 在Ruby语言中,数据类型是程序设计的基本组成部分。本文档旨在详细介绍Ruby支持的各种基本数据类型及其使用方法,包括但不限于Number(数值)、String(字符串)、Ranges...
Ruby是一种强大的动态编程语言,尤其在数据处理方面表现出色。Map、Reduce和Select是Ruby中用于操作和处理数据的关键概念,它们在数据科学、分析和软件工程领域中扮演着重要角色。 1. **Ruby Map**: Map函数允许...
Rgeo库不仅支持基本的空间数据类型,还包含了复杂的几何运算以及与Well-Known Text (WKT)和Well-Known Binary (WKB)格式的序列化和反序列化功能。 一、空间数据类型 Rgeo提供了一套完整的空间数据类型,包括点...
- **面向对象**:几乎所有事物在Ruby中都是对象,包括数字、字符串等基本数据类型。 - **动态性**:Ruby支持运行时修改代码结构,允许开发者在程序运行过程中改变类和方法的行为。 - **元编程能力**:Ruby提供了一种...
1. Ruby基础语法:变量、常量、数据类型、运算符、控制结构等。 2. 面向对象编程:类与对象、继承、多态、封装、模块等。 3. 高级特性:块(Block)、迭代器(Iterator)、元编程、反射等。 4. 标准库的使用:文件...
数据类型和变量 目标 学完本课,学生将能够: 识别和描述 Ruby 数据类型的用例 描述 Ruby 中不同类型的变量(局部变量、实例、常量)以及何时使用它们 在命令行中运行 Ruby 文件 准备 在这节课之前,学生应该已经...
《ruby23-core.chm》文档聚焦于Ruby的核心库,这是Ruby语言的基础部分,包括基本数据类型、控制结构、异常处理、类和模块系统等内容。例如,它会详细介绍如何创建和使用类、继承机制、模块混入、块和 Proc 对象,...
《Ruby程序设计语言》是Ruby的权威指南,全面涵盖该语言的1.8版和1.9版。本书详尽但并不拘泥于语言... 数据类型和对象 表达式和操作符 语句和控制结构 Method、proc、lambda和closure 类和模块 反射和元编程
- 数据类型(数字、字符串、数组等) - 变量与常量 - 控制结构(条件语句、循环语句) 4. **面向对象编程** - 类与对象的概念 - 继承与多态性 - 封装与模块 5. **高级特性** - 块与迭代器 - 元编程 - ...
Ruby教程.chm可能涵盖了Ruby的基础语法、变量、数据类型、控制结构(如条件语句和循环)、函数、类与对象、模块、继承、异常处理等重要内容。此外,它可能还会讲解Ruby中的块、 Proc 和 Lambda,以及Ruby的元编程...
数据类型。 利用 JavaScript 经验来识别 Ruby 中的模式和结构。 阐明学习新编程语言和框架的策略。 在交互式 CLI 中或从文件运行 Ruby 代码。 我们现在应该在哪里? 在本次研讨会之前,开发人员应该已经能够: 列出 ...