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

面试题 相关文章推荐
Collection和Collections的区别
May 02 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
编码实现字符串转整型的函数
Jun 02 面试题
.net工程师笔试题
Jun 09 面试题
一篇.NET面试题
Sep 29 面试题
介绍一下MD5加密算法
Nov 12 面试题
nohup的用法
Nov 26 面试题
下列程序在32位linux或unix中的结果是什么
Mar 25 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
Prototype如何实现页面局部定时刷新
Aug 06 面试题
什么是lambda函数
Sep 17 面试题
若干个Java基础面试题
May 19 面试题
JPA的优势都有哪些
Jul 04 #面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
You might like
基于pear auth实现登录验证
2010/02/26 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
如何在PHP中读写文件
2020/09/07 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python控制台显示时钟的示例
2014/02/24 Python
python实现简单socket通信的方法
2016/04/19 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
Python处理PDF与CDF实例
2020/02/26 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
公司周年庆典策划方案
2014/05/17 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书