ruby 教程

分类:后端教程
标签:

python-mini

Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。Ruby 可运行于多种平台,如 Windows、MAC OS 和 UNIX 的各种版本。

学习本教程,您将对 Ruby 有一个全面的了解。

现在开始学习 Ruby!

谁适合阅读本教程?

本教程有助于初学者理解 Ruby 语言基础知识及基本概念。

阅读本教程前,您需要了解的知识:

在您开始练习本教程中提供的各种实例之前,最好已经对计算机程序和计算机程序设计语言有一个基本的认识,这将有助于您对本教程的学习。

编译/执行 Ruby 程序

对于大多数编程语言,第一个入门实例便是 "Hello World!",下面的实例使用 Ruby 输出 "Hello World!":

#!/usr/bin/ruby
puts "Hello World!"; 

或者是在irb交互式命令行的模式下:


>>puts "Hello, world!"
Hello, world!
=> nil

目录

标题 说明
Ruby 简介 Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)的名字。
Ruby 环境 Ruby 环境 本地环境设置 如果您想要设置 Ruby 编程语言的环境,请阅读本章节的内容。本章将向您讲解与环境设置有关的所有重要的主题。建议先学习下面几个主题,然后再进一步深入学习其他主题:/Unix 上的 Ruby 安装:如果您想要在 /Unix 上配置开发环境,那么请查看本章节的内容。
Ruby 安装 – Linux Ruby 安装 - Linux 下面列出了在 Linux 机器上安装 Ruby 的步骤。 注意:在安装之前,请确保您有 root 权限。 源码安装下载最新版的 Ruby 压缩文件。请点击这里下载。 下载 Ruby 之后,解压到新创建的目录下:$ tar -xvzf ruby-2.2.3.tgz$ cd ruby-2.2.3现在,配置并编译源代码,如下所示:$ ./configure$ make$ sudo make install安装后,通过在命令行中输入以下命令来确保一切工作正常:$ruby -vru
Ruby 安装 – Windows 下面列出了在 Windows 机器上安装 Ruby 的步骤。
Ruby 中文编码 Ruby 中文编码前面章节中我们已经学会了如何用 Ruby 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。 Ruby 文件中如果未指定编码,在执行过程会出现报错: #!/ruby -wputs "你好,世界!"; 以上程序执行输出结果为: invalid multibyte char (US-ASCII)以上出错信息显示了 Ruby 使用用 ASCII 编码来读源码,中文会出现乱码,解决方法为只要在文件开头加入 # -*- codin
Ruby 命令行选项 Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项被调用,来控制解释器的环境和行为。选项描述 -a 与 -n 或 -p 一起使用时,可以打开自动拆分模式(auto split mode)。
Ruby 环境变量 Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为。ENV 对象包含了所有当前设置的环境变量列表。变量描述 DLN_LIBRARY_PATH 动态加载模块搜索的路径。 HOME 当没有参数传递给 Dir::chdir 时,要移动到的目录。
Ruby 语法 Ruby 语法 让我们编写一个简单的 Ruby 程序。所有的 Ruby 文件扩展名都是 .rb。所以,把下面的源代码放在 test.rb 文件中。实例 11 运行实例 »在这里,假设您的 /bin 目录下已经有可用的 Ruby 解释器。现在,尝试运行这个程序,如下所示: $ ruby test.rb 这将会产生下面的结果: Hello, Ruby! 您已经看到了一个简单的 Ruby 程序,现在让我们看看一些 Ruby 语法相关的基本概念: Ruby 程序中的空白 在 Ruby 代码中的空白字符,如空格和
Ruby 数据类型 Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型。Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。
Ruby 类和对象 Ruby 类和对象 Ruby 是一种完美的面向对象编程语言。面向对象编程语言的特性包括:数据封装 数据抽象 多态性 继承这些特性将在 面向对象的 Ruby 中进行讨论。 一个面向对象的程序,涉及到的类和对象。类是个别对象创建的蓝图。在面向对象的术语中,您的自行车是自行车类的一个实例。
Ruby 类案例 Ruby 类案例 下面将创建一个名为 Customer 的 Ruby 类,声明两个方法:display_details:该方法用于显示客户的详细信息。 total_no_of_customers:该方法用于显示在系统中创建的客户总数量。#!/rubyclass Customer @@no_of_customers=0 def initialize(id, name, addr)@cust_id=id@cust_name=name@cust_addr=addr end def display_detail
Ruby 变量 Ruby 变量 变量是持有可被任何程序使用的任何数据的存储位置。 Ruby 支持五种类型的变量。一般小写字母、下划线开头:变量(Variable)。 $开头:全局变量(Global variable)。 @开头:实例变量(Instance variable)。
Ruby 运算符 Ruby 运算符Ruby 支持一套丰富的运算符。大多数运算符实际上是方法调用。例如,a + b 被解释为 a.+(b),其中指向变量 a 的 + 方法被调用,b 作为方法调用的参数。 对于每个运算符(+ - * / % ** & | ^ << >> && ||),都有一个相对应的缩写赋值运算符(+= -= 等等)。
Ruby 注释 Ruby 注释 注释是在运行时会被忽略的 Ruby 代码内的注释行。单行注释以 # 字符开始,直到该行结束,如下所示:实例 11 运行实例 »当执行时,上面的程序会产生以下结果: Hello, Ruby! Ruby 多行注释 您可以使用 =begin 和 =end 语法注释多行,如下所示: #!/ruby -wputs "Hello, Ruby!"=begin这是一个多行注释。
Ruby 条件判断 Ruby 判断 Ruby 提供了几种很常见的条件结构。在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符。 Ruby if...else 语句 语法 if conditional [then]code...[elsif conditional [then]code...]...[elsecode...]end if 表达式用于条件执行。
Ruby 循环 Ruby 循环 Ruby 中的循环用于执行相同的代码块若干次。本章节将详细介绍 Ruby 支持的所有循环语句。 Ruby while 语句 语法 while conditional [do] codeend 或者<pre>while conditional [:] codeend 当 conditional 为真时,执行 code。
Ruby 方法 Ruby 方法Ruby 方法与其他编程语言中的函数类似。Ruby 方法用于捆绑一个或多个重复的语句到一个单元中。 方法名应以小写字母开头。如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常量,从而导致不正确地解析调用。 方法应在调用之前定义,否则 Ruby 会产生未定义的方法调用异常。
Ruby 块 Ruby 块您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。块由大量的代码组成。 您需要给块取个名称。 块中的代码总是包含在大括号 {} 内。 块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。
Ruby 模块(Module) Ruby 模块(Module)模块(Module)是一种把方法、类和常量组合在一起的方式。模块(Module)为您提供了两大好处。模块提供了一个命名空间和避免名字冲突。 模块实现了 mixin 装置。模块(Module)定义了一个命名空间,相当于一个沙盒,在里边您的方法和常量不会与其他地方的方法常量冲突。
Ruby 字符串(String) Ruby 中的 String 对象用于存储或操作一个或多个字节的序列。 Ruby 字符串分为单引号字符串(')和双引号字符串("),区别在于双引号字符串能够支持更多的转义字符。
Ruby 数组(Array) Ruby 数组(Array)Ruby 数组是任何对象的有序整数索引集合。数组中的每个元素都与一个索引相关,并可通过索引进行获取。 数组的索引从 0 开始,这与 C 或 Java 中一样。一个负数的索相对于数组的末尾计数的,也就是说,索引为 -1 表示数组的最后一个元素,-2 表示数组中的倒数第二个元素,依此类推。
Ruby 哈希(Hash) Ruby 哈希(Hash)哈希(Hash)是类似 "key" => "value" 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。 Hash 的索引(或者叫"键")几乎可以是任何对象。 Hash 虽然和数组类似,但却有一个很重要的区别:Hash 的元素没有特定的顺序。
Ruby 日期 & 时间(Date & Time) Ruby 日期 & 时间(Date & Time)Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年之后的日期。 本教程将让您熟悉日期和时间的所有重要的概念。
Ruby 范围(Range) Ruby 范围(Range)范围(Range)无处不在:a 到 z、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围:作为序列的范围 作为条件的范围 作为间隔的范围 作为序列的范围 范围的第一个也是最常见的用途是表达序列。
Ruby 迭代器 Ruby 迭代器简单来说:迭代(iterate)指的是重复做相同的事,所以迭代器(iterator)就是用来重复多次相同的事。 迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组(Array)和哈希(Hash)可以称之为集合。
Ruby 文件的输入与输出 Ruby 文件的输入与输出Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现。所有的 I/O 方法派生自 IO 类。 类 IO 提供了所有基础的方法,比如 read、 write、 gets、 puts、 readline、 getc 和 printf。
Ruby File 类和方法 Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象。open 为普通文件返回该类的一个实例。 类方法序号方法 & 描述 1File::atime( path)返回 path 的最后访问时间。 2File::basename( path[, suffix])返回 path 末尾的文件名。
Ruby Dir 类和方法 Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流。Dir 类也拥有与目录相关的操作,比如通配符文件名匹配、改变工作目录等。 类方法序号方法 & 描述 1Dir[pat] Dir::glob( pat)返回一个数组,包含与指定的通配符模式 pat 匹配的文件名:* - 匹配包含 null 字符串的任意字符串 ** - 递归地匹配任意字符串 ? - 匹配任意单个字符 [...] - 匹配封闭字符中的任意一个 {a,b...} - 匹配字符串中的任意一个Dir["foo.
Ruby 异常 Ruby 异常异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。 如果异常发生,则程序停止。异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止。
Ruby 面向对象 Ruby 面向对象Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。
Ruby 正则表达式 Ruby 正则表达式 正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找字符串集合。 正则表达式用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
Ruby 数据库访问 – DBI 教程 Ruby 数据库访问 - DBI 教程本章节将向您讲解如何使用 Ruby 访问数据库。Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。 DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。
Ruby 连接 Mysql – MySql2 Ruby 连接 Mysql - MySql2 前面一章节我们介绍了 Ruby DBI 的使用。这章节我们技术 Ruby 连接 Mysql 更高效的驱动 mysql2,目前也推荐使用这种方式连接 MySql。 安装 mysql2 驱动: gem install mysql2你需要使用 –with-mysql-config 配置 mysql_config 的路径,如: –/mysql_config。
Ruby CGI 编程 Ruby CGI 编程 Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或Ruby Web服务器,而且还可以使用Ruby进行CGI编程。
Ruby CGI方法 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::escape( str)使用 URL 编码来转义字符串 3CGI::unescape( str)对通过 esca
Ruby CGI Cookies Ruby CGI Cookies协议是无状态协议。但对于一个商业网站,它需要保持不同的页面间的会话信息。 如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息不丢失。 这种情况下 Cookie 很好的帮我们解决了问题。Cookie 是如何工作的? 几乎所有的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。
Ruby CGI Sessions Ruby CGI SessionsCGI::Session 可以为用户和CGI环境保存持久的会话状态,会话使用后需要关闭,这样可以保证数据写入到存储当中,当会话完成后,你需要删除该数据。 #!/rubyrequire 'cgi'require '/session'cgi = CGI.new("html4")sess = CGI::Session.new( cgi, "session_key" => "a_test","prefix" => "rubysess.")lastaccess = s
Ruby 发送邮件 – SMTP Ruby 发送邮件 - SMATP SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 Ruby提供了 Net::SMTP 来发送邮件,并提供了两个方法 new 和 start: new 方法有两个参数: server name 默认为 localhostport number 默认为 25 start 方法有以下参数: server - SMTP 服务器 IP, 默认为 localhostp
Ruby Socket 编程 Ruby Socket 编程 Ruby提供了两个级别访问网络的服务,在底层你可以访问操作系统,它可以让你实现客户端和服务器为面向连接和无连接协议的基本套接字支持。 Ruby 统一支持应用程的网络协议,如FTP、等。不管是高层的还是底层的。ruby提供了一些基本类,让你可以使用TCP,UDP,SOCKS等很多协议交互,而不必拘泥在网络层。
Ruby Web Services 应用 – SOAP4R Ruby Web Services 应用 - SOAP4R什么是 SOAP? 简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范。 SOAP 是一种简单的基于 XML 的协议,它使应用程序通过来交换信息。
Ruby 多线程 Ruby 多线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程。 Ruby 中我们可以通过 Thread 类来创建多线程,Ruby的线程是一个轻量级的,可以以高效的方式来实现并行的代码。
Ruby JSON Ruby JSON 本章节我们将为大家介绍如何使用 Ruby 语言来编码和解码 JSON 对象。环境配置 在使用 Ruby 编码或解码 JSON 数据前,我们需要先安装 Ruby JSON 模块。在安装该模块前你需要先安装 Ruby gem,我们使用 Ruby gem 安装 JSON 模块。
Ruby RubyGems Ruby RubyGems RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。 RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。

现在开始学习ruby 教程第一章 : Ruby 简介


本教程固定链接:http://www.rumen5.com/61385.html

上一篇:Lua 教程

下一篇:c++ 教程

QQ空间新浪微博腾讯微博人人网微信