Learning Path
浏览 Ruby 相关教程与章节。
主流编程语言、数据结构、设计模式、正则与基础算法。
教程
47
Ruby 教程 Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。Ruby 可运行于多种平台,如 Windows、MAC OS 和 UNIX 的各种版本。 学习本教程,您将对 Ruby 有一个全面的了解。 现在开始学习 Ruby! 谁适合阅读本教程? 本..
Ruby 数组(Array) Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。 数组的索引从 0 开始,这与 C 或 Java 中一样。一个负数的索相对于数组的末尾计数的,也就是说,索引为 -1 表示数组的最后一个元素,-2 表示数组中的倒数第二个元素,依此类推。 Ruby 数组可存储诸如 String、 Integer、 Fixnum、 Hash、 Symbol 等对象,甚至可以..
Ruby 块 您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。 块由大量的代码组成。 您需要给块取个名称。 块中的代码总是包含在大括号 {} 内。 块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。 您可以使用 yield 语句来调用块。 语法 [mycode3 type='ruby'] block..
Ruby CGI Cookie HTTP协议是无状态协议。但对于一个商业网站,它需要保持不同的页面间的会话信息。 如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息不丢失。 这种情况下 Cookie 很好的帮我们解决了问题。 Cookie 是如何工作的? 几乎所有的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。 写入和..
Ruby CGI方法 以下为CGI类的方法列表: 序号方法描述 1CGI::new([ level='query'])创建 CGI 对象。query可以是以下值: query: 没有 HTML 生成输出 html3: HTML3.2 html4: HTML4.0 Strict html4Tr: HTML4.0 Transitional html4Fr: HTML4.0 Frameset 2CGI::es..
Ruby CGI Session CGI::Session 可以为用户和CGI环境保存持久的会话状态,会话使用后需要关闭,这样可以保证数据写入到存储当中,当会话完成后,你需要删除该数据。 实例 [mycode3 type='ruby'] #!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new(&..
Ruby CGI 编程 Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。 使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或Ruby Web服务器,而且还可以使用Ruby进行CGI编程。 接下来,让我们花点时间来学习Ruby的CGI编辑。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏..
Ruby 类案例 下面将创建一个名为 Customer 的 Ruby 类,声明两个方法: display_details:该方法用于显示客户的详细信息。 total_no_of_customers:该方法用于显示在系统中创建的客户总数量。 实例 [mycode3 type='ruby'] #!/usr/bin/ruby class Customer @@no_of_customers=0 de..
Ruby 类和对象 Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论。 一个面向对象的程序,涉及到的类和对象。类是个别对象创建的蓝图。在面向对象的术语中,您的自行车是自行车类的一个实例。 以车辆为例,它包括车轮(wheels)、马力(horsepower)、燃油或燃气罐容量(fuel or gas tank capacity)。..
Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项被调用,来控制解释器的环境和行为。 选项描述 -a 与 -n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)。请查看 -n 和 -p 选项。 -c 只检查语法,不执行程序。 -C dir 在执行前改变目..
Ruby 注释 注释是在运行时会被忽略的 Ruby 代码内的注释行。单行注释以 # 字符开始,直到该行结束,如下所示: 实例 [mycode3 type='ruby'] #!/usr/bin/ruby -w # 这是一个单行注释。 puts 'Hello, Ruby!' [/mycode3] 运行实例 » 当执行时,上面的程序会产生以下结果: Hello, Ruby! R..
Ruby 数据库访问 - DBI 教程 本章节将向您讲解如何使用 Ruby 访问数据库。Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。 DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许您简单地实现数据库切换。它定义了一系列方法、变量和规范,提供了一个独立于..
Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型。 Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。 数值类型(Number) 1、整型(Integer) 整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。 整数范围从 -2..
Ruby 日期 & 时间(Date & Time) Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年之后的日期。 本教程将让您熟悉日期和时间的所有重要的概念。 创建当前的日期和时间 下面是获取当前的日期和时间的简单实例: 实例 [mycode3 type='ruby'] #!/usr/bin/r..
Ruby DBI Read 操作 DBI 提供了一些从数据库获取记录的不同方法。假设 dbh 是一个数据库句柄,sth 是一个语句句柄: 序号方法 & 描述 1db.select_one( stmt, *bindvars ) => aRow | nil执行带有 bindvars 绑定在参数标记前的 stmt 语句。返回第一行,如果结果集为空则返回 nil。 2db.select_all( stmt, *bindvar..
Ruby 判断 Ruby 提供了几种很常见的条件结构。在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符。 Ruby if...else 语句 语法 [mycode3 type='ruby'] if conditional [then] code... [elsif conditional [then] code...]... [else code...] end [/mycod..
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流。Dir 类也拥有与目录相关的操作,比如通配符文件名匹配、改变工作目录等。 类方法 序号方法 & 描述 1Dir[pat] Dir::glob( pat)返回一个数组,包含与指定的通配符模式 pat 匹配的文件名: * - 匹配包含 null 字符串的任意字符串 ** - 递归地匹配任意字符串 ? - 匹配任意单个字符 [...] ..
Ruby 中文编码前面章节中我们已经学会了如何用 Ruby 输出 'Hello, World!',英文没有问题,但是如果你输出中文字符'你好,世界'就有可能会碰到中文编码问题。 Ruby 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/ruby -w puts '你好,世界!'; 以上程序执行输出结果为: invalid multibyte ch..
Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为。ENV 对象包含了所有当前设置的环境变量列表。 变量描述 DLN_LIBRARY_PATH 动态加载模块搜索的路径。 HOME 当没有参数传递给 Dir::chdir 时,要移动到的目录。也用于 File::expand_path 来扩展 '~'。 LOGDIR 当没有参数传递给 Dir::chdir 且未设置环境变量 HOME 时,要移动到的目..
Ruby 环境 本地环境设置 如果您想要设置 Ruby 编程语言的环境,请阅读本章节的内容。本章将向您讲解与环境设置有关的所有重要的主题。建议先学习下面几个主题,然后再进一步深入学习其他主题: Linux/Unix 上的 Ruby 安装:如果您想要在 Linux/Unix 上配置开发环境,那么请查看本章节的内容。 Windows 上的 Ruby 安装:如果您想要在 Windows 上配置开发环境,那么请查看本章节的内容。 Ruby ..
Ruby 异常 异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。 如果异常发生,则程序停止。异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止。 Ruby 提供了一个完美的处理异常的机制。我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 rescue 子句告诉 Ruby 完美要处理的异常类型。 ..
Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象。open 为普通文件返回该类的一个实例。 类方法 序号方法 & 描述 1File::atime( path)返回 path 的最后访问时间。 2File::basename( path[, suffix])返回 path 末尾的文件名。如果指定了 suffix,则它会从文件名末尾被删除。 例如:File.basename('/..
Ruby 哈希(Hash) 哈希(Hash)是类似 'key' => 'value' 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。 Hash 的索引(或者叫“键”)几乎可以是任何对象。 Hash 虽然和数组类似,但却有一个很重要的区别:Hash 的元素没有特定的顺序。 如果顺序很重要的话就要使用数组了。 创建哈希 与数组一样,有各种不同的方式来创建哈..
Ruby 文件的输入与输出 Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。 类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。 本章节将讲解所有 Ruby 中可用的基础的 I/O 函数。如需了解更多的函数,请查看 Ruby 的 IO 类。 puts 语句 在前面的章节中,您赋..