免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2378 | 回复: 1
打印 上一主题 下一主题

Ruby札记1 - 安装、运行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-25 11:10 |只看该作者 |倒序浏览
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有以下优点:
◆解释器:Ruby是解释型语言,其程序无需编译即可轻松执行;修改完可以直接运行。
◆变量无类型:Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。
◆所有变量均无需声明即可立即使用。从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。
◆扩展性强:可以动态给类添加新的成员。

◆自动垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
◆一切都是对象:Ruby是纯粹的面向对象语言,以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。

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

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

Ruby也有下列缺点:
◆因为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 IDE

      在Windows平台下,Ruby常用的编辑工具主要有这几种:Notepad,Notepad++,Eclipse,Netbeans。使用Notepad类似的工具就是比较简单,基本不需要安装额外的东西,但是管理一个工程比较麻烦。重量级的IDE使用最多的就是Eclipse与Netbeans,这两个工具都需要安装JRE与Ruby,然后再安装IDE,占用内存也比较多,属于重装上阵,但是胜在功能比较强大,从代码编辑到运行,项目创建到管理都比较完善。

1. Eclipse

      在Eclipse中编辑Ruby需要安装相应的插件,使用较为广泛的插件主要有两种:Aptana RadRails与Dynamic Languages Toolkit
      RadRails插件功能较为强大,使用也较为方便,但是在安装过程中会添加一些非必须的插件和功能。DLTK较为简洁。至于传说中的RDT插件,已经没有人维护了,这里直接忽略。

(1).安装Eclipse

      到http://www.eclipse.org/helios/下载3.6版本,解压就可以直接使用了。因为Eclipse每个版本的插件是不通用的,所以不要装最新的3.7版本。

(2).安装插件


      安装 Aptana RadRails 插件

      从aptana主页 http://www.aptana.com/products/radrails/download 获取插件下载地址(选择Eclipse Plug-in Version): http://download.aptana.com/tools ... all/radrails-bundle。然后打开Eclipse,点击菜单栏中的"help",在下拉菜单中选择"Install New Software…",在Install窗口中,"Work with"地址栏中填入获取的插件更新地址,等待Eclipse查找插件,等插件出现在列表中后,勾选"Rails"以及子节点"Apatana RadRails",点击"Next"根据提示操作完成安装。安装过程中如果出现警告信息,直接点击"OK"即可。安装Rails插件完成后就可以直接使用了,不需要手动配置Ruby编译器的位置。

      安装 Dynamic Languages Toolkit插件


      点击Eclipse菜单栏中的"help",在下拉菜单中选择"Install New Software…",在Install窗口中,"Work with"地址栏中选择"Helios – http://download.eclipse.org/releases/helios"。
在下面的选择框中找到“Programming Languages”,点击后展开,找到并选中“Ruby Development Tool - Ruby ...”。点击Next,根据提示完成安装。
      安装完成后需要重启Eclipse。重启后点击菜单栏"Window->Preferences",在设置窗口中找到Ruby->Interpreters,点击"Add…"按钮,设置Ruby所在路径。安装完插件后,Ruby源文件的编码格式无法通过更改目录默认编码格式修改,只能对每个Ruby文件进行单独设置。如果要修改Ruby文件系统默认编码格式,点击菜单栏 "Window->Preferences" ,找到"General->Content Types",在Content types窗口中找到并选中"Ruby Source File",修改"Default encoding"输入框中的默认编码,点击"Update"更新设置。注意:若不点击"Update"直接点击"OK"设置将不会生效。

2. NetBeans

      NetBeans比较简单,直接到http://netbeans.org/downloads/6.9.1/index.html下载NetBeans For Ruby版本就可以了。需要注意两点:

(1). 7.0版本后不再支持Ruby编辑,所以需要下载6.9.1以及更老的版本。NetBeans相对来说对Intellisense的支持更好一点。

(2). NetBeans需要JRE 6以后的版本,否则的话运行比较慢。

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

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

论坛徽章:
0
2 [报告]
发表于 2012-02-25 11:10 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP