`
lixinye0123
  • 浏览: 322593 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

Ruby程序设计语言快速入门之安装Ruby

阅读更多
 

  Ruby是一种面向对象的元编程语言,是它让许多开发者感到惊讶,甚至令他们提出这样的疑问:是否真正存在比Java和C#更好的语言?本文将对Ruby语言作初步的探讨并试图回答这一问题。

  一、 引言

  你是否听说过Ruby?如今,它成了软件开发界的一个流行话题。该语言在去年春天的一次Java会议上引起我的注意,当时象Bruce Tate,Dave Thomas等著名人物都在谈论Ruby并且告诉在场的观众Ruby值得一看。

  现在,如果你象我一样正在从事软件开发,那么我们就有共识:尽管学习一种新的编程语言可能是一件趣事,但是只有你对它具有深入了解之后,你才有资格以一种怀疑眼光来看待另一种编程语言。毕竟,在上世纪八、九十年代的编程语言之争最终得出结论-从根本上看存在两大阵营:Java世界和微软基于.NET支持的开发语言。并不是我不想学习另一种语言,其实我只是期望通过选择其它编程语言才能获得一定技术优势的日子早点结束。然而,由于前面几位著名人士的影响,我决定一试Ruby。

  好,假定"我已经到过山顶",那么本文就是我对Ruby的研究报告。

  二、 安装Ruby

  Ruby是一种开源的编程语言,由日本的Yukihiro Matsumoto在九十年代中期开发。你可以在www.ruby-lang.org站点得到Ruby。这种语言最初被作为一种脚本语言创建,可应用于许多平台上,包括Linux、各种类UNIX、MS-DOS、Windows、BeOS、Amiga、Acorn Risc OS和MacOS X。当前Ruby的最新版本是1.8.4。对于使用Windows平台的用户,你可以点按这里来得到一个"one-click"型Windows安装程序。随同基本的Ruby二进制文件和库文件,这一下载中还包含一些有用的(并且是免费的)IDE和工具,包括帮助文档和示例代码,RubyGems包管理器,FreeRIDE(免费的Ruby IDE),Fox GUI库,fxri(一种搜索引擎和Ruby文档的GUI指南,还有一个交互式命令行工具)和SciTE(Scintilla文本编辑器IDE)。在写本文时,Windows安装程序所提供的Ruby的"稳定"版本是1.8.2,还有一个1.8.4版本的预览版。注意,本文中的示例代码是用Windows安装程序所提供的1.8.2版本编写的。

  使用Windows安装程序安装Ruby是相当直接的事情。你只要下载并运行一个简单的可执行安装文件(ruby182-15.exe),这个程序就会启动一个标准的安装向导。下载文件大约有15MB,在向导把Ruby安装到Windows平台上后占大约40MB的硬盘空间。

  对于那些偏爱自己的编辑器的程序员,大量的编辑器都提供了对Ruby的支持,包括emacs,vim,JEdit,Jed,Nedit和Textpad。当然,还有著名的Ruby Eclipse工程。Ruby开发工具(RDT)是一种Eclipse插件,当前仍处于早期开发中,但是你可以从此处下载试用它。另外,市场上还有一些便宜的Ruby IDE,Arachno Ruby就是其中之一。

  运行Ruby

  就象许多解释性语言一样,Ruby提供给程序员多种开发代码的方法。你可以使用命令行工具以交互方式运行Ruby或者创建一个Ruby程序文件,然后要求Ruby的解释器执行此程序。

  在Windows中,打开命令行提示符窗口,在提示符上输入"Ruby"并回车(注意:你应该能够使系统沿Ruby的\bin目录找到Ruby可执行文件)。那么,Ruby就会运行并等候你输入程序。输入下面的程序,然后按Ctrl+D再按回车键,你就会看到Ruby执行你的程序,如图1所示。

def convertCtoF (celsius)
print(celsius.to_s + " degrees celsius is " +
((celsius * 9)/5 + 32).to_s + " degrees in
fahrenheit\n")
end
convertCtoF(20)

  图1.在Ruby中以交互方式运行摄氏到华氏温度转换计算

  图1中的转换程序也可以用一种Ruby IDE或简单文本编辑器实现并保存到一个文件中-例如convertCtoF.rb(.rb是Ruby程序的常用文件类型)。现在,Ruby解释器将执行这个文件中的Ruby程序,见图2。

  图2.运行convertCtoF.rb

  那些熟悉Smalltalk,Common Lisp Object System(CLOS),或其它解释性编程环境的用户肯定都会熟悉交互的开发环境。交互特点允许你用小块编程代码进行试验。通过使用一个特殊的Ruby批处理文件irb.bat,你就能够克服Ruby解释器的非交互性特征。图3显示了使用irb.bat命令启动的Ruby。现在,代码可以被逐行地输入,解释和测试。

  图3.交互式Ruby

  交互式Ruby特征也被嵌入到若干工具中。例如,Ruby文档的图形接口fxri,不仅可作为一种语言指南,而且可以用作一种交互式Ruby解释器(见图4)。

  图4.fxri的交互式Ruby能力:在此,fxri也用来运行和图3相同的Ruby命令,但这是从文档工具内部运行的。

 

 
分享到:
评论

相关推荐

    Ruby入门到精通

    Ruby入门到精通,Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel...

    Ruby语言入门教程

    Ruby语言入门教程,一种为简单快捷的面向对象编程(面向对象程序设计)

    Ruby语言教程.docx

    在您开始练习本教程中提供的各种实例之前,最好已经对计算机程序和计算机程序设计语言有一个基本的认识,这将有助于您对本教程的学习。 编译/执行 Ruby 程序 对于大多数编程语言,第一个入门实例便是 "Hello World!...

    ruby语法基础教程

    Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。

    Ruby入门教程

    Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、...

    gdi-ruby:为GDI设计的为期5周的Ruby编程课程

    Ruby是一种开放源代码语言,可为Hulu,LivingSocial,Groupon和Github等应用程序和产品提供支持。 有一个繁荣的,友好的用户社区,并且开发人员的工作市场很强大。 通过这五个课程系列,您将全面了解Ruby的编程...

    Elixir程序设计(英文版) pdf

    《Elixir 程序设计》作者就是15 年前编写了Programming Ruby,将Ruby 带入大众视野的Dave Thomas。这一次他延续了一贯的写作风格,以一个拥有面向对象的开发经历但并未接触过函数式编程的开发者的角度切入,循序渐进...

    Elixir编程入门

    Elixir是一门建立在Erlang虚拟机上的...私以为,可以把Elixir看作函数式的ruby语言,或者是语法类似ruby的Erlang。Elixir受瞩目的原因,是因为它结合了Erlang作为系统编程语言的各种优点,以及ruby那样简单易懂的语法。

    积分管理系统java源码-ruby-tutorial-cn:ruby-tutorial-cn

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

    [XML入门经典(第4版)].(Beginning.XML.4th.Edition).(美)亨特,(美)拉夫特,(美)福思特.扫描版.pdf

    第Ⅴ部分 程序设计 第11章 文档对象模型(DOM) 第12章 XML简单API 第Ⅵ部分 通信 第13章 RSS、Atom和内容聚合 第14章 Web服务 第15章 SOAP和WSDL 第16章 Ajax 第Ⅶ部分 显示 第17章 样式表(CSS) 第18章 XHTML语言 第...

    个人整理的opencv最基本入门资料

    python、ruby、matlab 以及其他语言的接口。 其目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的 计算机视觉相关应用程序。Opencv 包含的函数有 500 多个,覆盖了如工厂产品检测、医学 ...

    SpringBoot 入门(一)

    随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。  在上述环境下,SpringBoot应运而生。Spring Boot是...

    从入门到精通HTML5——PDF——网盘链接

     2.3.6 设置网页文字及语言 22  2.3.7 设置网页的定时跳转 23  2.3.8 设定有效期限 24  2.3.9 禁止从缓存中调用 24  2.3.10 删除过期的cookie 25  2.3.11 强制打开新窗口 25  2.3.12 设置网页的过渡效果 26 ...

    消息队列RabbitMQ入门与5种模式详解

    AMQP(高级消息队列协议)是一个异步消息传递所使用应用层协议规范,为面向消息中间件设计,基于此协议的客户端与消息中间件可以无视消息来源传递消息,不受客户端、消息中间件、不同的开发语言环境等条件的限制;...

    SimpleElastix:多语言医学图像注册库

    什么是SimpleElastix? ... 用户友好的API符合专门为快速原型开发的SimpleITK的设计理念。 如果您有兴趣,可以阅读。 完整的SimpleITK图像处理算法集。 足够多的谈话,下面是一些示例的时间! 我

    优秀代码编辑器工具 PhpDesigner 8.1.2 Portable 绿色中文免费版.zip

    不管您是PHP网页设计高手,或者是刚入门的新手,您都可以使用此软件来帮您设计网页程序(SQL、HTML 亦支持)。 PHP Designer 特色 1.提升了你编写程序的效率PHP Designer提升了你编写程序的效率和简化了复杂的编码...

    JAVA上百实例源码以及开源项目源代码

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    JAVA上百实例源码以及开源项目

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

Global site tag (gtag.js) - Google Analytics