ruby

计算机编程语言

ruby是一种纯面向对象程序设计语言。语言中的一切实际上都是对象,所有的计算都是通过消息传递来完成的。尽管程序具有使用中缀运算符的表达式,其外观与Java等语言中的表达式相同,但实际上这些表达式却是通过消息传递来求值的。与 smalltalk 一样,当编写a+b时,通过将消息+发送到a所引用的对象,并将对象b的引用作为参数传递来进行求值,将a+b实现为a.+b。

ruby与 C++ 、 Perl 或 Python 有一些极为相似之处。在语法风格中,ruby以#作为注释的分隔符。函数(方法)定义以def开始,以end结束,类定义以class开始。与Perl或者 c语言 不同,ruby不需要行结束符。ruby的程序流程控制与C语言相似,除了常规的case、while、if、else等控制外,也支持迭代器的控制。

发展历程

Ruby明显比其他类似的 编程语言 (如Perl或 Python )年轻,又因为Ruby是日本人发明的,所以早期的非 日语 资料和程序都比较贫乏,所以在网上仍然可以找到类似“Ruby的资料太少”之类的批评。约于2000年,Ruby开始进入 美国 ,英文的资料开始发展。Ruby归根结底源于 Perl 和 LISP 两类语言,与C, C++ , C♯ ,java是不同大类。

2011年10月31日1.9.3的第一个稳定版本1.9.3p0发布。

2013年2月22日发布了Ruby 1.9.3-p392。

2013年2月24日发布了Ruby 2.0.0-p0。

2015年4月13日发布了Ruby 2.2.2。

2015年12月25日发布了Ruby 2.3.0。

目前最新稳定版本为:Ruby2.4.2

语言标准

Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。 常数 则以 大写字母 开头;这种方法,对文本编辑器的命令补全很有帮助,如在 VIM 下先键入$及开头字母,再敲击 ctrl +p,则可专门补全本文件以及关联文件中的全局变量, Perl 与 PHP 亦有此优点。

已经定义的类可以在运行时修改

Ruby是动态语言,你可以在程序中修改先前定义过的类。也可以在某个类的实例中定义该实例特有的方法,这叫做单例方法。

使用Ruby可以写出简短而又功能强大的代码

下面的方法用来完成两个矩阵的乘积

注:ruby标准库中已包含矩阵库 Matrix

语言特点

完全面向对象

在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数

变量没有类型

Ruby的变量可以保存任何类型的数据。

任何东西都有值

不管是数学或者逻辑表达式还是一个语句,都会有值。

ruby语言很优雅,可以做到不需要注释就可以读懂。

优点

语法简单

普通的面向对象功能(类,方法调用等)

特殊的面向对象功能(Mixin,特殊方法等)

操作符重载

错误处理功能

迭代器和闭包

垃圾回收

动态载入(取决于系统架构)

可移植性高。不仅可以运行在多数 unix 上,还可以运行在DOS,Windows, 麦金塔 ,BeOS等平台上

适合于快速开发,一般开发效率是JAVA的5倍

语言理念

减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须注重人性化,而不是一味从机器的角度设想。

“人们特别是电脑工程师们,常常从机器着想。他们认为:‘这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。’实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”

遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。

Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习 编程语言 时的第一个程序:

语言特点

• Ruby 是开源的,在Web 上免费提供,但需要遵守开源软件协议。

• Ruby 是一种通用的、解释的编程语言。

• Ruby 是一种真正的面向对象编程语言。

• Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。

• Ruby 可以用来编写 通用网关接口 (CGI)脚本。

• Ruby 可以被嵌入到 HTML ( HTML )。

• Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。

• Ruby 与 C++ 和 Perl 等许多 编程语言 有着类似的语法。

• Ruby 可扩展性强,用 Ruby 编写的大程序易于维护。

• Ruby 可用于开发的 Internet 和 Intranet 应用程序。

• Ruby 可以安装在 Windows 和 POSIX 环境中。

• Ruby 支持许多 GUI 工具,比如 TCL科技 /Tk、GTK 和 OpenGL。

• Ruby 可以很容易地连接到 DB2、MySQL、 Oracle数据库 和 Sybase。

• Ruby 有丰富的内置函数,可以直接在 Ruby 脚本中使用。

发明人

松本行弘 "Matz"(Yukihiro Matsumoto)是Ruby语言的发明人,他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言,使你既能进行高效开发又能享受编程的快乐。1993年2月24日Ruby诞生了,1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫 日本 。

学习前提

在您开始练习Ruby之前,最好已经对 计算机程序 和计算机程序设计语言有一个基本的认识,这将有助于您对本Ruby的学习。

参考资料

  1. 2024-03-11