`
wangdeshui
  • 浏览: 255744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一步一步学Ruby(四):Ruby标准类型

阅读更多
Ruby 的标准类型包括数字(Numeric)、字符串(String)、区间(Range)以及正则表达式(Regexp)。
 
  • 数字
  • 字符串
  • 区间
  • 正则表达式

数字

Ruby 的数字包括整数(Integer)和浮点数(Float),这些类型都直接或间接继承自 Numeric。Ruby 的整数并没有长度限制,一定范围内的整数是 Fixnum 对象,当超出该范围则会自动转换成 Bignum。
 
image

Fixnum < Integer < Numeric
Bignum < Integer < Numeric
Float < Numeric
image
所有的浮点数类型都是 Float,无论它有多长。
image

和所有的语言一样,我们可以通过前导符号标定数字的格式。
  • 0 : 八进制。
  • 0d : 十进制。
  • 0x : 十六进制。 
  • 0b : 二进制。

image

我们可以用下划线(_)来分隔数字。
a = 100_874_6   类似我们习惯的 123,456,789。
image

"?x" 和 "?\cx(或 ?\C-x)" 分别用于显示字符或控制字符的整数值。
puts ?a
puts ?\n
puts ?\r
puts ?\ca # Ctrl + a
image

字符串

Ruby 字符串由 8bit 字节序列组成。字符串定义方式有很多种

简单点的是用单引号或双引号,当然包括我们熟悉的转义符。
s = 'That\'s Right!'
s = 'escape using "\\"'
s = "Hello, World!"
其中双引号字符串内部可以使用 #{expr}, 类似 C# String.Format。
可以使用局部变量,全局变量可省略大括号,也可以表达式。
image

另外还有更奇怪的,%q 相当于单引号,%Q 相当于双引号,还有 "here documents"。这些标记都通过特定的分界标记来定义字符串。
image

字符串类 String 提供了大量的操作方法,细节可参考类库文档。

区间

区间表示一种序列。在 Ruby 中,使用 ".." 表示闭区间,而使用 "..." 表示半闭半开区间,区别在于闭区间包含右端的值,而半闭半开区间则不包含。
image
区间不仅仅是整数,也可以是字符串等。
image

区间类型 Range 提供了很多操作方法。
image

正则表达式

Ruby 在语言层面提供了正则表达式的支持,我们可以用下面三种方法创建 Regexp 对象。
image
我们可以用操作符 "=~" 来完成匹配(Match)操作。(操作副 "!~" 和此作用相反,是否定匹配)
image

"$~" 返回 MatchData 对象。
image
 
 

本文作者:王德水

未经本人同意,禁止转载

分享到:
评论

相关推荐

    .一步一步学RUBY

    Ruby的标准类型包括数字、字符串、数组、哈希等,每种类型都提供了丰富的内置方法和操作符,简化了常见数据处理任务。 通过深入理解Ruby的基本特性和核心概念,初学者可以逐步掌握这门语言,利用其灵活性和强大功能...

    learn-ruby.zip

    Ruby学习资源,包含16个ruby文件,含代码,一步一步学习ruby,以及对应的html官方文档资源。 Ruby学习资源,包含16个ruby文件,含代码,一步一步学习ruby,以及对应的html官方文档资源。 Ruby学习资源,包含16个ruby...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    ruby - ruby tutorial

    对于基于 Debian 的系统(如 Ubuntu),可以使用 `apt-get` 命令来安装 Ruby: ```bash sudo apt-get install ruby-full ``` ##### Ruby 在 Windows 上的安装 在 Windows 系统上安装 Ruby 可以通过访问 Ruby 官方...

    from java to ruby -things every manager should know

    ### 从 Java 到 Ruby:每位管理者应知之事 #### 引言 随着技术的不断发展,编程语言也在不断地演进。对于很多企业来说,选择合适的技术栈是至关重要的一步。《从 Java 到 Ruby:每位管理者应知之事》这本书正是为了...

    ruby-jogging:ruby 的每日提交

    6. **标准库和Gem**:Ruby有一个强大的标准库,提供了许多内置功能。此外,Ruby的生态系统中有无数的Gem(第三方库),如Nokogiri用于解析XML和HTML,Rails用于Web开发等。 7. **Ruby on Rails**:虽然标题没有直接...

    ruby开发的基本流程.doc

    例如,在Ubuntu或Debian系统中,可以通过以下命令安装Ruby: ```bash sudo apt-get update sudo apt-get install ruby-full ``` - **验证安装**:安装完成后,可以在命令行中输入`ruby -v`来确认Ruby是否已正确...

    ruby-chess:用Ruby创建的国际象棋游戏

    Ruby是一种面向对象的、动态类型的脚本语言,以其简洁明了的语法和强大的元编程能力著称,这使得它成为开发复杂逻辑应用的理想选择,比如棋类游戏。 在Ruby-chess项目中,每个棋子被表示为一个对象,它们有自己的...

    Ruby的25个编程细节(技巧、实用代码段)

    而 **OpenStruct** 是Ruby标准库的一部分,使用Ruby语言实现。 - 它们的API也有所不同,**Struct** 提供了更多类似于类的方式,而 **OpenStruct** 更加灵活。 **示例代码:** ```ruby require 'ostruct' # 使用...

    Ruby入门例子

    ### Ruby入门例子详解 #### 一、环境搭建与配置 在开始之前,我们需要确保已经安装了以下组件: - **Ruby**: 版本为1.8.5。 - **Rails**: 版本为1.1.6。 - **MySQL**: 版本为5.0。 - **gem**: 版本为0.9.0。 ...

    Ruby链接列表:Odin项目-Ruby链接列表

    Ruby中的链表奥丁项目-链接列表目录信息在该项目中,使用Ruby实现了链表。 运行该程序所需的所有文件都在此存储库中,其中包含“说明”部分中的说明。 该程序是使用Ruby v2.6.3p62构建的。状态至此,项目完成。指示...

    Refactoring Ruby

    ### Refactoring Ruby:关键知识点解析 #### 一、Refactoring 的意义与重要性 在软件开发过程中,重构(Refactoring)是一种重要的维护手段和技术实践。它指的是在不改变软件外部行为的前提下,对代码进行结构上的...

    Ruby-PryByebug实现在Pry中一步一步调试和堆栈导航

    在Ruby编程语言中,调试是理解代码运行过程和查找错误的关键步骤。`Pry` 和 `Byebug` 是两个非常强大的工具,它们结合起来可以提供一个高效、直观的交互式调试环境。`Pry` 是一个替代 IRB(Interactive Ruby)的 ...

    ruby-next:Ruby Next使现代Ruby代码在较旧版本和替代实现中运行

    Ruby下一步 Ruby其次是transpiler和polyfills的在旧版本和替代实现支持最新的和即将推出的Ruby功能(API和语法)的集合。 例如,您可以在Ruby 2.5或使用模式匹配和Kernel#then 。 谁可能对Ruby Next感兴趣? 想要...

    ruby 安装包

    Ruby是一种面向对象的、动态类型的编程语言,常用于开发Web应用程序和系统管理工具。它以其简洁、优雅的语法和强大的元编程能力而受到开发者喜爱。在本案例中,"ruby 安装包"指的是用于安装Ruby环境的软件包,这通常...

    mac安装ruby-2.3.1 源码

    这一步将编译好的Ruby二进制文件和其他资源安装到系统默认的位置,通常是`/usr/local/bin`,使得全局可访问。 7. **验证安装**:安装完成后,可以在终端输入`ruby -v`来查看当前系统的Ruby版本,如果显示为2.3.1,...

    redis安装包及ruby安装教程.rar

    在实际开发中,Ruby 的 Redis 客户端库提供了丰富的 API,支持数据类型的 CRUD(创建、读取、更新、删除)操作,以及发布/订阅、事务处理、Lua 脚本等功能。例如,你可以使用 `Redis.new` 创建客户端实例,`set` 和 ...

    Redis-Cluster实战--3.安装准备-Ruby安装(含视频)

    Ruby是一种面向对象的、动态类型的编程语言,它强调简洁性和可读性,适合快速开发。在安装Redis-Cluster的过程中,Ruby主要用于运行`redis-trib.rb`脚本,这个脚本可以帮助我们初始化和管理集群。 **安装Ruby** 1....

    linux版 ruby-2.3.0

    Ruby是一种面向对象、动态类型的编程语言,由日本的松本行弘在1995年设计并开发。它强调简洁、优雅的语法,注重程序员的生产力,并提供了丰富的库和工具支持。Ruby-2.3.0是Ruby的一个版本,发布于2016年,带来了许多...

    ruby初始使用过程总结

    在Ruby的世界里,初学者可能会感到有些陌生,但掌握其基本使用流程将为你的编程旅程打下坚实的基础。本文将详细解析"ruby初始使用过程",帮助你快速上手。 首先,我们需要设置好开发环境。在Windows系统中,通常会...

Global site tag (gtag.js) - Google Analytics