介绍一下Ruby的特点


Posted in 面试题 onJanuary 20, 2013
Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。
若您曾经“想要一种简单的面向对象的语言”,或者认为“Perl的功能虽然好用,但它的语法真让人受不了”,又或者觉得“LISP系列语言的思想不错,但到处都是括号真让人讨厌,最起码算式应该按照通常的样式书写”。那么,Ruby或许能让您满意。

归纳起来,Ruby有以下优点:
1、解释型执行,方便快捷
Ruby是解释型语言,其程序无需编译即可执行。
2、语法简单、优雅
语法比较简单,类似Algol系语法。
3、完全面向对象
Ruby从一开始就被设计成纯粹的面向对象语言,因此所有东西都是对象,例如整数等基本数据类型。
4、内置正则式引擎,适合文本处理
Ruby支持功能强大的字符串操作和正则表达式检索功能,可以方便的对字符串进行处理。
5、自动垃圾收集
具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。不需要用户对内存进行管理。
6、跨平台和高度可移植性
Ruby支持多种平台,在Windows, Unix, Linux, MacOS上都可以运行。Ruby程序的可移植性非常好,绝大多数程序可以不加修改的在各种平台上加以运行。
7、有优雅、完善的异常处理机制
Ruby提供了一整套异常处理机制,可以方便优雅地处理代码处理出错的情况。
8、拥有很多高级特性
Ruby拥有很多高级特性,例如操作符重载、Mix-ins、特殊方法等等,是用这些特性可以方便地完成各种强大的功能。

同时,由于是解释型语言,Ruby也有下列缺点:
1、解释型语言,所以速度较慢
2、静态检查比较少

Tags in this post...

面试题 相关文章推荐
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
Jul 30 面试题
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
Oct 05 面试题
Java提供了哪些企业应用编程接口
Feb 13 面试题
北京银河万佳Java面试题
Mar 21 面试题
写出二分查找算法的两种实现
May 13 面试题
为数据库创建索引都需要注意些什么
Jul 17 面试题
上海某公司.net方向笔试题
Sep 14 面试题
请解释virtual关键字的含义
Jun 17 面试题
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
Sep 06 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
Jul 12 面试题
如何唤起类中的一个方法
Nov 29 面试题
举例说明类变量和实例变量的区别
Jun 30 面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
我的论坛源代码(二)
2006/10/09 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
浅谈django orm 优化
2018/08/18 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
法学专业自我鉴定
2014/02/05 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
解决vue中provide inject的响应式监听
2022/04/19 Vue.js