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

面试题 相关文章推荐
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
2019年Java面试必问之经典试题
Sep 12 面试题
判断单链表中是否存在环
Jul 16 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 面试题
捷科时代的软件测试笔试题
Nov 09 面试题
中科软笔试题和面试题
Oct 07 面试题
一套软件开发工程师笔试题
May 18 面试题
什么是封装
Mar 26 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
JPA的优势都有哪些
Jul 04 面试题
SOA的常见陷阱或者误解是什么
Oct 05 面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
You might like
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
浅谈php调用python文件
2019/03/29 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
python 多进程通信模块的简单实现
2014/02/20 Python
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python中将字典转换为列表的方法
2016/09/21 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
python代码能做成软件吗
2020/07/24 Python
工程地质勘察专业大学生求职信
2013/10/13 职场文书
办理退休介绍信
2014/01/09 职场文书
学校七一活动方案
2014/01/19 职场文书
搞笑的获奖感言
2014/08/16 职场文书
优秀护士事迹材料
2014/12/25 职场文书
公司与个人合作协议书
2016/03/19 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL