介绍一下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...

面试题 相关文章推荐
PHP面试题-$message和$$message的区别
Dec 08 面试题
PHP如何自定义函数
Sep 16 面试题
如何写出高性能的JSP和Servlet
Jan 22 面试题
武汉英思工程科技有限公司–ORACLE面试测试题目
Apr 30 面试题
sealed修饰符是干什么的
Oct 23 面试题
Linux文件系统类型
Sep 16 面试题
外包公司软件测试工程师
Nov 01 面试题
JPA的特点
Oct 25 面试题
灵泰克Java笔试题
Jan 09 面试题
UNIX文件系统分类
Nov 11 面试题
J2EE包括哪些技术
Nov 25 面试题
Delphi笔试题
Nov 14 面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
You might like
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
python服务器与android客户端socket通信实例
2014/11/12 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
逃课检讨书怎么写
2015/01/01 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
python - timeit 时间模块
2021/04/06 Python
MySQL日期时间函数知识汇总
2022/03/17 MySQL
浅谈Redis缓冲区机制
2022/06/05 Redis