ruby学习笔记之一:ruby概述

 Ruby的历史:

Ruby语言的发明人是日本人松本行弘(Matsumoto Yukihiro),大家亲切的称呼他"Matz"。
可能会出乎大家的意料,Ruby并不是一种近年来才诞生的语言,它的历史可以追溯到1993年,Ruby之父Matz开始对脚本语言感兴趣。在通过一些分析和思考之后,Matz认为脚本语言是可以变得很强大和灵活的,于是他准备把脚本语言作为他的发展方向。 和很多人一样,Matz是一个面向对象程序设计的fans,自然而然他想研究一种支持面向对象程序设计的脚本语言。随后的一段时间,他到网络上搜集了一些相关的资料,并且发现了Perl 5,当时Perl 5还没有发布。通过一段时间了解后,Matz.发现Perl 5这并不是他想的东西,所以他放弃了把Perl当作一个面向对象的脚本语言使用的念头。随后Matz转向了Python,Python是一个解释型的、面向对象语言,但是Matz发现Python并不能完全算作“面向对象”语言。Matz认为Python是面向对象和过程化程序设计语言(Procedural Programming Language)的混合产物。Matz希望找到的是一种比Perl更强大、比Python更面向对象的语言,但是很遗憾, 这样的语言当时在地球上并不存在。于是Matz打算自己设计一个全新的编程语言。1993年2月24日是一个值得纪念的日子,在这一天Ruby诞生了。 1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。 在1996年以前,都是Matz.一个人在开发进行Ruby的开发。后来随着Ruby社区的渐渐形成,很多社区成员给了Matz许多有意义的帮助,包括提交bug和patch等。现在,Ruby像其他开源项目一样,有自己的开发团队,任何有能力的个人或团体都可以参与Ruby的开发与进化。

  Ruby名字的由来
首先明确一点,Ruby并不是其他单词的缩写。受Perl的影响,Matz也想用一种宝石来命名他的新语言,他使用了他的一位同事的生肖石-红宝石。后来,Matz意识到Ruby这个名字十分恰当,首先,在生肖石中,Pearl代表六月,而Ruby代表七月。在字体大小上,Pearl大小是5pt, ruby的大小是5.5pt。所以Ruby这个名字对于一种Perl的后续语言十分合适。

Ruby的特点
Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。
若您曾经“想要一种简单的面向对象的语言”,或者认为“Perl的功能虽然好用,但它的语法真让人受不了”,又或者觉得“LISP系列语言的思想不错,但到处都是括号真让人讨厌,最起码算式应该按照通常的样式书写”。那么,Ruby或许能让您满意。

归纳起来,Ruby有以下优点:
解释型执行,方便快捷
Ruby是解释型语言,其程序无需编译即可执行。
语法简单、优雅
语法比较简单,类似Algol系语法。
完全面向对象
Ruby从一开始就被设计成纯粹的面向对象语言,因此所有东西都是对象,例如整数等基本数据类型。
内置正则式引擎,适合文本处理
Ruby支持功能强大的字符串操作和正则表达式检索功能,可以方便的对字符串进行处理。
自动垃圾收集
具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。不需要用户对内存进行管理。
跨平台和高度可移植性
Ruby支持多种平台,在Windows, Unix, Linux, MacOS上都可以运行。Ruby程序的可移植性非常好,绝大多数程序可以不加修改的在各种平台上加以运行。
有优雅、完善的异常处理机制
Ruby提供了一整套异常处理机制,可以方便优雅地处理代码处理出错的情况。
拥有很多高级特性
Ruby拥有很多高级特性,例如操作符重载、Mix-ins、特殊方法等等,是用这些特性可以方便地完成各种强大的功能。

同时,由于是解释型语言,Ruby也有下列缺点:
解释型语言,所以速度较慢
静态检查比较少
Ruby和Python的比较
Python是Ruby的劲敌。其功力深厚,可谓“千年蛇妖”。但matz认为Python的功能仍不完美,不然就不会创造Ruby了。

Ruby编程环境

Ruby的安装
Ruby支持多种平台,包括Windows、Linux、各种类UNIX、MacOS X等。
在Windows 95/98/Me/XP上安装Ruby
对于使用Windows平台的用户,安装Ruby是相当简单直接的事情。最方便的方法是使用“One-Click Ruby Installer”。
不知你有没有听说过SourceForge?SourceForge 是全球最大的开放源代码软件开发平台和仓库。它集成了很多开放源代码应用程序,为软件开发提供了整套生命周期服务。在Ruby世界,也有一个类似的网站,那就是Rubyforge。“One-Click Ruby Installer”是Rubyforge上的一个开源项目,也是Rubyforge上下载量最大的项目之一。这个项目将Ruby语言核心和一系列常用扩展集成到了一起,还包含支持Ruby的免费的IDE工具FreeRIDE和SciTE,除了这些之外还包括帮助文档,示例代码,RubyGems包管理器,Fox GUI库,fxri(Interactive Ruby Help & Console)等。和正如它名字所示,使用它,Ruby安装变得前所未见的容易。你可以在下面的地址下载到它的最新版本:
http://rubyforge.org/projects/rubyinstaller/
§2.1.2   在Linux上安装Ruby
在linux下Ruby的安装要稍微复杂一些,推荐使用源码编译的方式安装,这样可以保证安装的是最新版本。
首先到ruby主站http://www.ruby-lang.org/en/ 下载源代码,下载完毕后解压到目录,然后使用以下命令:
 ./configure
 ./make; make install
执行上面的命令需要root权限,默认安装到/usr/local下。你也可以使用“./configure --prefix=自定义路径”来指定安装目录。
windows上的ruby one-click installer默认安装了RubyGems,但在Linux下我们需要手动安装RubyGems。RubyGems是一个Ruby的包管理器,我们后边会讲到它。
首先从Rubyforge下载RubyGems的最近版本,地址如下:
http://rubyforge.org/projects/rubygems/
 解压RubyGems以后到相应目录下输入ruby setup.rb,屏幕上打印一些日志以后会告诉你安装成功,执行gem -v可以查看gem安装版本号。
运行Ruby
下面,我们将以Windows平台下的Ruby环境举例如何运行Ruby。
 使用Ruby

将“Hello World”作为学习计算机语言第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的经典计算机程序设计教程《The C Programming Language》。我们来看看Ruby世界的“Hello World”:

在Windows中,打开命令行提示符窗口,在提示符上输入“Ruby”并回车,Ruby解释器就会运行并等候输入程序。Ruby可执行文件应该包含在系统搜索路径内。
输入下面的程序:

print "Hello World!"

然后按Ctrl+D再按回车键,你就会看到Ruby执行程序的输出结果:


你也可以先将代码保存为文件,然后使用再Ruby解释器执行:

§2.2.2   使用FreeRIDE和SciTE
FreeRIDE是一个支持Ruby语言的免费IDE环境。FreeRIDE本身就是使用Ruby语言开发,它也是Rubyforge上的重要项目之一。
可以使用FreeRIDE来编写调试和执行Ruby代码,FreeRIDE内置了交互式变成环境和Ruby语言在线帮助,功能十分强大。


Scintilla是一个免费的源代码编辑控件,它完全开放源代码,并允许用户自由地用于开源软件或是商业软件中。SciTE是用这个控件开发了一个编辑软件,在“One-Click Ruby Installer”中,SciTE集成了Ruby语言支持,使用起来非常方便。相比FreeRIDE,它的特点就是使用简单。

 使用fxri
Fxri是一个Ruby交互帮助和控制台工具。它不仅可作为语言的在线帮助,而且可以用作交互式Ruby解释器来执行程序。对于学习Ruby语言,fxri是一个非常方便的帮手。
不知你有没有听说过Fox ToolKit,它是相当轻巧的开放源代码的图形库。FXRuby是RubyForge上的一个项目,提供了Ruby语言使用Fox ToolKit的接口。而Fxri正是基于FXRuby开发,Fxri同样是RubyForge上的项目。这样你应该可以猜到Fxri名字的由来J

Fxri同时集成了Ruby-irb和Ruby-ri的功能,有了它,你可以抛开Ruby-irb,Ruby-ri了,但如果你用的不是Windows系统的话,算我没说J
Ruby-irb
Ruby-irb是交互式Ruby(Interactive Ruby)的简称,用来从标准输入读入并执行Ruby代码的工具,像一个shell。
使用命令“irb”进入交互式模式,然后可以象输入命令行命令一样输入Ruby代码,代码执行的结果会立刻显示:

Ruby-ri
和Perl一样,Ruby也设计了嵌入式文档。 ruby-ri就是查看文档的工具。Ruby-ri的执行命令为“ri”,例如你可以通过“ri String.new”来查询String类的new方法:


RubyGems
RubyGems是Ruby社区流行的包管理工具,在以前如果要下载一个Ruby扩展或者应用程序的话,你需要先下载相应的zip包,然后解压缩,再将应用或者扩展安装到Ruby对应的目录中。但是有了RubyGems所有这些麻烦都没有了,你只需要一条命令就可以从远程服务器上下载相应的包,如果相应的应用包含其他扩展,RubyGems会提示你从远程安装所依赖的扩展。安装后 RubyGems会运行相应的程序生成rdoc帮助文档。当然你也可以将软件包下载到本地运行RubyGems本地安装命令。
统一化的管理带来的好处就是简单,有了RubyGems包管理器,Ruby应用的安装将变得前所未见的容易。RubyGems是Rubyforge下载量最大的项目之一,现在Ruby社区的应用都在朝着RubyGems的方向发展,RubyGems也将成为Ruby事实上的包管理器标准。
RubyGems包管理器的可执行命令是“gem”,gem命令包含很多子命令和相应的选项,例如:
gem -h/--help  – 显示命令帮助
gem -v/--version – 显示Gems的版本号
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值