`
yymmiinngg
  • 浏览: 180210 次
  • 性别: 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语言概述 Ruby的历史始于1993年,松本行弘为了创造一种更人性化、注重表达力的语言,将C++和Perl等语言的优点融合,创建了Ruby。Ruby的名字源于一种红宝石矿物,象征着其珍贵和优雅。Ruby的特点...

    《Ruby Programming—向Ruby之父学程序设计(第2版)》电子书

    书中的第一章通常会介绍Ruby的基本语法,包括变量声明、数据类型(如整型、浮点型、字符串、布尔型、数组和哈希)以及控制结构(如条件语句if/else和循环for/while)。 接下来,书中的核心内容会深入到Ruby的面向...

    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基础教程(第四版)第20章 Time类与Date类1

    - `t.wday` 返回一周中的第几天,0表示星期日。 - `t.mday` 返回一个月中的第几天。 - `t.yday` 返回一年中的第几天。 - `t.zone` 返回当前时区的信息。 `Time`类还提供了`mktime`方法,允许我们根据指定的日期和...

    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语言中文教程.rar

    本教程的子文件可能包括了各个章节的文档或源代码示例,如"第一章-简介"、"第二章-基础语法"、"第三章-面向对象"等,每章深入讲解一个主题,通过实际的例子帮助学习者巩固理论知识,提高动手能力。 总的来说,这个...

    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 教程 从入门到精通

    1995年,Ruby的第一个公开版本发布,自那时起,它逐渐在全球范围内获得了开发者社区的认可。 #### §1.2 Ruby名字的由来 "Ruby"这个名字来源于红宝石,象征着珍贵和美丽,也暗示了其作为编程语言的优雅和强大。 ##...

    Head First Ruby 英语原版

    - **第一章**:介绍Ruby的基础概念,包括变量、字符串、条件语句和循环等基础语法。 - 变量:用于存储数据的标识符。 - 字符串:文本数据类型,可以进行各种操作,如连接、分割等。 - 条件语句:基于特定条件执行...

    Ruby语言入门教程v1.0

    随后,通过编写第一个小程序,让学习者快速上手,体验Ruby的基本语法和运行流程。这不仅增强了学习者的实践能力,也激发了他们继续探索Ruby的兴趣。 ### 4. 语法快览与基础概念 第三章是对Ruby语法结构的全面概览...

    Programming Ruby

    作为世界上第一本英文版的Ruby开发人员指南,本书不仅介绍了Ruby的基础知识,还提供了深入的实践教程与参考资料。 #### 二、Ruby语言简介 - **定义**:Ruby是一种面向对象的脚本语言,以其简洁、易读和高效的特点...

    ruby 中文教程(带例子代码)

    例如,E9-1.rb可能涉及第九章的第一个问题,E3.10-5.rb可能代表第三章第10到5部分的练习。这些文件提供了实际编写和运行Ruby代码的机会,通过解决这些问题,学习者可以巩固对语言的理解。Ruby的语法强调可读性,所以...

Global site tag (gtag.js) - Google Analytics