`
wangdeshui
  • 浏览: 247371 次
  • 性别: 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链接列表:Odin项目-Ruby链接列表

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

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

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

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

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

    ruby+selenium-webdriver测试源代码003

    博客“ruby+selenium-webdriver一步一步进行自动化测试------面向对象编程”对应源代码

    rails-learning, 学习 Rails & ruby的最佳方法.zip

    rails-learning, 学习 Rails & ruby的最佳方法 Ruby on Rails从头开始学习东西几乎总是一个艰苦的事情,你根本不知道从哪里开始,或者不从开始开始,把东西踢到什么地方。... 都在这,跟着它,一步一步来。 tab

    Ruby-1.9.3 window

    在 Windows 平台下一步安装 Ruby-1.9.3

    rubyonrails

    rubyonrails中文版,一步一步教你搭建ruby rails的应用,不可多得.

    todoist-ruby:用于 ruby​​ 的 Todoist API 包装器。 2014年

    这一步必须在您与 Todoist API 进行任何交互之前执行 [ 13 ] pry ( main ) &gt; Todoist :: Configuration . token = 'e6705ab0SECRETTOKENcfbcc1b' =&gt; "e6705ab0SECRETTOKENcfbcc1b" 列出您的项目 [ 14 ] pry ( main...

    ruby on rails入门

    有一个工程开发的详细流程,教你一步一步掌握ruby开发,特别适合初学者(里面包含源代码)

    ruby+watir安装包,安装步骤

    1.默认路径安装ruby186-26.exe 2.本地安装watir-1.4.1.gem,执行gem install watir-1.4.1.gem -l 3.本地安装rubygems-update-1.3.4.gem,执行 gem install rubygems-update-1.3.4.gem 4.更新rubygems,执行update_...

    一个c+ruby支持分布式部署开源的网络游戏库fsnet.zip

    玩家每次猜测后,根据猜测的数字与目标数字的大小关系,给出相应的提示,并根据猜测结果决定下一步的操作。 用户输入处理:通过 Console.ReadLine() 获取用户输入,并使用 int.TryParse() 方法将输入转换为整数。...

    Ruby on Rails网站项目构建简单指南

    所以需要使用 –skip-bundle 参数跳过执行 bundle 这一步。然后使用国内的 Gems 镜像源来完成后面依赖包的安装。国内推荐的源是 Ruby China 提供的: https://gems.ruby-china.org/。 最后整理步骤如下: 创建项目: ...

    程序员为什么还要刷题-ruby-rails-testing:ruby-rails-测试

    Ruby 和 Python 这样的“脚本”语言非常适合这一点,因为您可以在编写代码后立即运行代码。 相反,像 C 这样的低级语言必须在运行之前进行编译。 反馈回路 决定下一步做什么 想一个办法 写一些代码 编译/运行代码 ...

    metro:[Ruby]

    #DC 地铁应用###学习目标: 锻炼你的问题建模技巧(白板优先!!!) 练习使用集合继续练习你的 git 命令(ABC = "Always Be ... 写出---一步一步,用简单的英语---你会如何找到红线上的伍德利公园站和绿松石

    coffeepot:Ruby on rails 中wavepot-runtime的coffeescript实现,即时编译

    咖啡壶这是使用作为语言编译的的简单实现特征Coffeepot 建立在 Ruby on rails 之上; 事实上,我用 gibber.audio.lib 做了另一个,这是改变 wavepot.com 团队提出的想法的一步。 为了实时编译,我使用了 websocket-...

    gem安装、rails安装、mysql库文件安装

    2.进入rails目录使用gem命令安装(这一步必须要上一步已经安装成功)。如果安装不成功使用ruby,如下: ruby -S gem install rails-2.2.2.gem 3.复制libmySQL.dll到ruby的安装目录的bin文件夹下,然后使用gem安装...

    memes_rep:Ruby on Rails中的image(memes)存储库的示例应用程序

    模因库 一个Ruby on Rails应用程序,用于上传模因,存储您的收藏集,通过主题标签搜索其他模因,并且可以根据需要将模因设为私有。... 转到下一步。 在游戏目录中,安装所有必需的gem运行bundle 要运行迁移: bundle

    未读:使用Ruby on Rails处理未读记录并将其标记为已读

    支持将所有记录标记为已读,以一步将所有记录标记为已读 为您提供了获取给定阅读器未读记录的范围 只需要一个额外的数据库表 最重要的是:出色的表现 要求 Ruby 2.5或更高版本 Rails 4.0或更高版本(包括Rails 6) ...

    game_of_life:用 Ruby 实现的康威生命游戏

    这是用 Ruby 编程语言编写的 Conway's Game of Life 的简单实现。 概要 请注意,这里的大部分工作都基于存储库。 您可以在找到有关生命游戏的更多信息。 用于生成图形输出,最终结果如下所示: 游戏规则: 游戏...

Global site tag (gtag.js) - Google Analytics