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

面试题 相关文章推荐
error和exception有什么区别
Oct 02 面试题
一组SQL面试题
Feb 15 面试题
关于递归的一道.NET面试题
May 12 面试题
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
May 09 面试题
C#笔试题和英文面试题
Feb 07 面试题
中科软测试工程师面试题
Jun 16 面试题
数字天堂软件测试面试题
Dec 23 面试题
广州喜创信息技术有限公司JAVA软件工程师笔试题
Oct 17 面试题
常见的软件开发流程有哪些
Nov 14 面试题
用Java语言将一个键盘输入的数字转化成中文输出
Jan 25 面试题
如何写出好的Java代码
Apr 25 面试题
为什么要使用servlet
Jan 17 面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
You might like
PHP学习之数组值的操作
2011/04/17 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
tagName的使用,留一笔
2006/06/26 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
python win32 简单操作方法
2017/05/25 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
在校生自我鉴定
2014/01/23 职场文书
企业军训感想
2014/02/07 职场文书
《童年》教学反思
2014/02/18 职场文书
前台文员职责范本
2014/03/07 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS