`
yymmiinngg
  • 浏览: 178287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第一章、ruby简介

阅读更多

Ruby是一种简单的面向对象编程语言,十分容易上手,并且功能强大。她是一个日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次发布的。Ruby从Perl语言那里借鉴了许多东西(有人形象地说Ruby是Perl的漂亮的妹妹:),和Perl相似,Ruby也擅长于文本处理、系统管理等任务。 

Ruby是面向对象的编程语言,她追求的是“简便快捷的面向对象编程”。Ruby是解释型语言,因此不需编译即可快捷地编程。同时Ruby具有类似Perl的强大的文本处理功能,她可并不只是个玩具,您可以用她来进行实用的编程。此外,您还可以很方便地使用C语言来扩展Ruby的功能,因此可以把她当作各种库的前端来使用。

若您曾经“想要一种简单的面向对象的语言”,或者认为“Perl的功能虽然好用,但它的语法真让人受不了”,又或者觉得“lisp系列语言的思想不错,但到处都是括号真让人讨厌,最起码算式应该按照通常的样式书写”。那么,Ruby或许能让您满意。

 

ruby作者简介:

Matz是一个专业的软件工程师,在日本有名的opensource公司netlab.JP工作,而且他在日本也是一个高姿态的opensource布道者。他参与了几个开源软件项目,包括cmail,这是一个基于emacs的邮件用户代理,完全用emacslisp编写。Ruby也是他的第一个在日本以外的国家如此出名的作品。
在1993年的时候,有一次他和同事们谈论关于脚本语言(scriptinglanguage)的事情,Matz深深的认识到了脚本语言的强大和可行性,他想也许脚本语言是他的方向。
由于Matz很早以前就对面向对象编程很感兴趣,所以他认为面向对象也会适合脚本语言编程。然后,他到网络上去找了一些相关的东西,并且发现了perl5,当时它还没有发布,并且打算支持面向对象的特点,但是Matz发现这并不是他想找的东西,所以他放弃了把perl当作一个面向对象的脚本语言。
然后Matz转向了Python。Python是一个解释型的、面向对象语言,但是Matz发现它并不能完全算作“脚本”语言。Matz认为Python是面向对象和程序化语言(proceduralprogramming)的混合产物。
Matz希望的是一种比Perl强大,比Python更面向对象的语言,所以,他打算设计一个全新的自己的语言。Matz的开发从1993年2月24日开始,同年夏天,第一个Ruby语言的HelloWorld程序成功运行,第一个alpha版本在1994年12月发布。
直到1996年都是Matz一个人在开发,从这时候开始Ruby社区也渐渐形成,尽管现在大部分的开发还是Matz自己来开发,但很多人都给了Matz有意义的帮助,包括提交bug和patch等。
Ruby这个名字意为珍贵的宝石,千万不要认为是什么缩写,比如PERL。当作者开始写ruby的时候,跟一个同事开玩笑说这个项目要以一个宝石的名字命名。那个同事就说”ruby”,就是一种美丽贵重的宝石的名字。所以作者用了这个名字,并且最后在官方发布版本中,也延续了这个名字。后来,作者发现珍珠(pearl)是六月的诞生石(birthstone,这个我不懂),ruby是七月的诞生石,所以作者相信ruby是perl之后自己语言的一个好的名字。 

 

归纳以来,Ruby有以下优点:
◆解释器
 Ruby是解释型语言,其程序无需编译即可轻松执行。
◆变量无类型
 Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。
◆不需要变量声明
 所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。
◆语法简单
 语法比较简单,类似Algol系语法。
◆不需要内存管理
 具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
◆一切都是对象
 Ruby从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。
◆类,继承,方法
 Ruby当然具有面向对象语言的基本功能。
◆特殊方法
 可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(有人这么干吧)。
◆用模块进行混合插入(Mixin)
 Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。

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

 

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

 

分享到:
评论

相关推荐

    Ruby Hack Guide中文版.chm

    Ruby Hacking Guide是一本探讨C Ruby实现的...从我个人阅读的感觉来看,第一章对于Ruby语言的介绍是一个非常好的起步教程,把Ruby语言中一些核心点都指了出来。比起我读到过一些Ruby语言教程,这部分的讲解要清晰得多.

    Ruby 教程 从入门到精通

    第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章 Ruby编程环境 9 §2.1 Ruby的安装 9 §2.1.1 在Windows 95/98/Me/XP上安装Ruby 9

    Ruby设计模式(中文版+英文版).pdf

    第一部分设计模式和ruby  第1章使用设计模式创建更好的程序  第2章从ruby起步 第二部分ruby中的模式  第3章使用模板方法变换算法  第4章使用策略替换算法  第5章通过观察器保持协调  第6章使用组合模式将各...

    Ruby编程语言

     第2章RUBY程序的结构和运行25  2.1词法结构26  2.2句法结构33  2.3文件结构35  2.4程序的编码36  2.5RUBY程序的运行39  第3章数据类型和对象41  3.1数字42  3.2文本46  3.3数组64  3.4哈希67  3.5范围...

    Ruby for Rails

    第一部分讲述Ruby和Rails的编程环境。第二部分和第三部分与 Rails紧密联系,着重对Ruby这门语言进行详细介绍;所采用的Rails应用示例,既说明了Ruby的特性,也给出了有关Rails的重要信息。第四部分讲述了如何应用第...

    Ruby 教程 初学者必备

    第一部分 Ruby语言基础 第一章 Ruby语言概述 §1.1 Ruby的历史 §1.2 Ruby名字的由来 §1.3 Ruby的特点 §1.4 Ruby和Python的比较 。。。

    Ruby on Rails Web开发之旅.pdf【第一部分】

    第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  3.2 Ruby是面向对象的语言  3.3 读写Ruby代码  3.3.1 交互式的Ruby界面(irb)  3.3.2 与Ruby对象...

    ruby语法基础教程

    第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章 Ruby编程环境 9 §2.1 Ruby的安装 9 §2.1.1 在Windows 95/98/Me/XP上安装Ruby 9 §2.1.2...

    Ruby on rails tutorial中文版(第二版)

    你可以将本书设想为一个电子游戏,学习完每一章就会升一级。 最终的示例程序将在外表上和一个同样采用 Rails 开发的微博网站十分相似2。虽然我们将主要的精力集中在这个示例程序上了,但是本书的重点却在于提供...

    Ruby on Rails Web开发之旅.pdf【第二部分】

    第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  3.2 Ruby是面向对象的语言  3.3 读写Ruby代码  3.3.1 交互式的Ruby界面(irb)  3.3.2 与Ruby对象...

    ruby基础教程(第四版)第20章 Time类与Date类1

    作者 bluetea网站:https://github.com/bluetea通过Time.new 或者Time.now来获得当前时间的对象当你获取一个Time

    Ruby on Rails Web开发之旅.pdf【第三部分】

    第3章 Ruby简介  3.1 Ruby是脚本语言  3.1.1 编译语言  3.1.2 脚本语言  3.1.3 较大的性能争议  3.2 Ruby是面向对象的语言  3.3 读写Ruby代码  3.3.1 交互式的Ruby界面(irb)  3.3.2 与Ruby对象...

    Ruby_for_Rails.pdf

    第一部分讲述Ruby和Rails的编程环境。第二部分和第三部分与Rails紧密联系,着重对Ruby这门语言进行详细介绍;所采用的Rails应用示例,既说明了Ruby的特性,也给出了有关Rails的重要信息。第四部分讲述了如何应用第二...

    Ruby高级编程教程-世界顶级高校教材(完整版827页)

    在第一部分Ruby的Facets中,您将找到一个Ruby教程。它从一些关于让Ruby在您的系统上运行的注释开始,然后是一个简短的章节,介绍Ruby特有的一些术语和概念。本章还包括足够多的基本语法,以便其他章节有意义。本教程...

    ruby基础教程(第四版)第9章 运算符1

    第9章 运算符作者 bluetea网站:https://github.com/bluetea一.|| 运算符只有条件1不是false或者nil的时候,才会判断条

    ruby基础教程(第四版)第14章 字符串类1

    1.将2个字符串合并为新的字符串 2.扩展原有的字符串 1.index方法和rindex方法, index从左往右检查字符串是否存在,找到后返回首个字符串的索引

    book-of-ruby:来自《Ruby 之书》一书的源代码

    第 19 章: Ruby on Rails 第 20 章:动态规划 Ruby 以易于学习而闻名,但大多数用户只触及了它可以做的事情的皮毛。 其他书籍侧重于 Ruby 的时尚特性,而 The Book of Ruby揭示了世界上最流行的编程语言之一的...

    Ruby语言入门教程

    第一章概述.....................................................................................................................................4 1.1 编程语言的发展简史....................................

Global site tag (gtag.js) - Google Analytics