Ruby札记1

来源:转载

一、Ruby溯源

静态语言如Java,C#,C++等,功能相当强大,但是每做一件事都要添加一大堆引用,进行严格的语法的强制检查,进行编译处理,然后才可以运行。就算是显示一句“Hello World”,都要经过若干个步骤才能完成。对于静态语言来说,运行时动态增加一些特性也比较困难;虽然像C#也加入了DLR,支持动态语言,但是终归说来还是相当麻烦的。而且像Java,C#这种动辄还要安装数十兆的运行环境(JVM,.NET Framework),严重影响了部署感受;而且在当今移动互联网疯狂扩张的年代,在浏览器中要完成一些相当小巧灵活的功能,完全没必要使用这种大型的语言(当然如果是企业级的前后台开发来说,还是离不开Java或者ASP.NET的)。

综合上面各种因素,动态语言就火了起来。从古老的JavaScript,Perl,到中年的Python,再到青年的Ruby,它们活跃在网站开发的各个方面,从浏览器端到服务器端。这里不去比较每种语言的优缺点,只是说明一下Ruby相关的历史。Ruby在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto,简称Matz.)开发,Ruby以7月诞生石ruby(红宝石)命名。Ruby是基于Perl等语言发展起来的,是“纯粹的”面向对象语言,由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。 

二、安装Ruby

到Ruby站点http://www.ruby-lang.org/en/下载最新的Ruby版本,按照网站的安装说明安装即可,非常简单;在这个站点上还有一些有用的文档可以瞻仰一下。此外,针对不同的运行平台,也可以安装相应的组件,比如JRuby(支持Java的运行环境)等。安装Ruby或JRuby后,需要添加bin目录到Path环境变量(一般自动添加,如果安装完没有添加的,则需要手动添加)。安装完了在cmd命令行中执行 "ruby" / "jruby" 看到版本号说明安装和配置成功。 

Ruby Gem:Ruby Gem指的是Ruby可用的一些框架和类库,其中最著名的恐怕就是Ruby On Rails - Web开发的明日之星。凭借这个框架,Ruby也成为了动态语言中Web开发的无冕之王。要玩通这些扩展,是需要Ruby作为基础的,所以安心学好Ruby,然后进阶再学习各种Gem就可以了。

三、运行Ruby程序

如果装的是Ruby,在命令行中打"irb"可以打开命令行交互运行环境(每打一行就执行一次,定义类与方法除外)。也可以先编辑好一个Ruby文件(.rb结尾),然后在命令行中直接打"ruby"运行指定的Ruby文件。Ruby代码文件可以使用任何文本编辑器编辑。如果装的是JRuby则可以使用默认的JRuby的irb编辑器;当然也可以在命令行中直接打"jruby"运行指定的Ruby文件。

Ruby执行过程:总是默认创建一个外围的Object对象main去顺序执行代码。(可以直接执行puts self和puts self.class来验证。)

四、Ruby的优缺点

  Ruby有以下优点:

◆解释器:Ruby是解释型语言,其程序无需编译即可轻松执行;修改完可以直接运行。

◆变量无类型:Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。

◆所有变量均无需声明即可立即使用。从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。

◆扩展性强:可以动态给类添加新的成员。

◆自动垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。

◆一切都是对象:Ruby是纯粹的面向对象语言,以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。

◆用模块进行混合插入(Mixin):Ruby舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。

◆迭代器:该功能可以将循环抽象化。 ◆闭包:可以将某过程片段对象化。对象化后的该过程片段就称作闭包。
◆功能强大的字符串操作/正则表达式:以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。
◆拥有超长整数:添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。
◆具有错误处理功能:错误处理功能可以使您编写代码处理出错情况。
◆可以直接访问OS :Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。
◆动态加载:若OS支持的话,可以在运行时读入对象文件。  

Ruby也有下列缺点:
◆因为Ruby是解释型语言,所以速度较慢。
◆静态检查比较少。 

五、经典再现:“Hello World!”

在irb中输入:puts "Hello World",按回车即可。简单吧,这与静态语言的Hello World比起来是不是简单多了。这就是第一个Ruby程序,功能就是输出"Hello World"。欲知后事如何,请听下回分解。


分享给朋友:
------分隔线----------------------------
您可能感兴趣的文章:
随机阅读: