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 语法简单,这使得新的开发人员能够快速轻松地学习 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的学习。