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

面试题 相关文章推荐
"引用"与多态的关系
Feb 01 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
Dec 13 面试题
SQL Server面试题
Apr 04 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
C#面试题问题集
Apr 02 面试题
shell程序中如何注释
Jan 28 面试题
介绍一下linux的文件权限
Feb 15 面试题
几个Linux面试题笔试题
Dec 01 面试题
什么是Linux虚拟文件系统VFS
Jan 31 面试题
How TDD works
Sep 30 面试题
介绍一下JMS编程步骤
Sep 22 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Mar 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
php命名空间学习详解
2014/02/27 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python生成随机数组的方法小结
2017/04/15 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
浅谈python 类方法/静态方法
2020/09/18 Python
信息技术课后反思
2014/04/27 职场文书
模具专业求职信
2014/06/26 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
大学生活感想
2015/08/10 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书