什么是Ruby语言
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。
Ruby语言的优点和缺点
优点:
1 采用虚拟机实现跨平台
2 支持垃圾回收
3 脚本语言,灵活,容易扩展
4 支持面向对象
5 基于脚本语言,易于同Linux Shell进行交互
6 拥有功能强大和完善的标准类库
7 拥有良好的交互式运行环境:IRB,方便进行开发和调试
8 语言内置对规则表达式(Regular Express)的支持
9 直观的Block语法来实现循环遍历和函数回调
10 开放源代码
11 支持异常机制
12 同Perl和Python相比更容易用C语言扩展(来自Ruby官方网站)
13 支持动态载入类库
14 因为是解释型语言,不需要编译,修改后马上就可以执行
15 拥有一个完善的Web开发框架Rails
缺点
1 性能不如纯静态编译语言,例如C,但可以通过用C语言来扩展来解决
2 完全没有类型检查,灵活但容易隐藏潜在的问题
3 使用Module来实现多重继承,不如JAVA所采用的接口(Interface)方式清晰,而且由于没有严格的类型检查,所以框架层的设计无法对实现有很严格的约束
4 没有很完善的开发,重构的工具,虽然现在Eclipse已经提供Ruby的开发插件,但还没有实现重构,跳转和自动代码生成等很有用的功能,主要原因是由于Ruby支持动态类型
5 依然保留部分非面向对象的语法,例如全局变量,全局方法
6 允许在扩展代码中随意替换现有类的方法定义或变量,非常灵活,但可能会因为错误地修改了框架逻辑而引发难以发现的错误,但可以用freeze方法来组织被修改
7 不支持真正的多线程,多线程环境是通过在虚拟机环境中模拟出来的,不能充分发挥多CPU的功能,如果一个线程在执行底层调用被Block住则整个应用程序也被Block住。
8 对Unicode和多国语言的支持不好
语言特点
Ruby 是开源的,在Web 上免费提供,但需要一个许可证。
Ruby 是一种通用的、解释的编程语言。
Ruby 是一种真正的面向对象编程语言。
Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
Ruby 可以用来编写通用网关接口(CGI)脚本。
Ruby 可以被嵌入到超文本标记语言(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 脚本中使用。
语言标准
Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perl与php亦有此优点。
已经定义的类可以在运行时修改
Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单例方法。
class MyClass
def the_method
“generalmethod”
end
end
mc=MyClass.new
def mc.the_method
“special for this instance.”
end
mc.the_method#specialforthisinstance
使用Ruby可以写出简短而又功能强大的代码
下面的方法用来完成两个矩阵的乘积
def matrix_mul(matrix1,matrix2)
result=[]
(0…matrix1.length).each{|i|
temp=[]
(0…matrix2[0].length).each{|j|
tmp=0
(0…matrix1[0].length).each{|k|
tmp+=matrix1[i][k]*matrix2[k][j]
}
temp<<tmp
}
result<<temp
}
return result
end
代码签名证书是保护开发者的劳动成果,给自己开发的软件签名的证书,保证代码在签名之后不被恶意篡改。用户可通过对代码的数字签名来标识软件来源,辨别软件开发者的真实身份。GDCA的代码签名证书支持多种代码签名,已通过WEBTRUST国际认证。
猜你喜欢