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

面试题 相关文章推荐
你常见到的runtime exception
Sep 05 面试题
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
判断单链表中是否存在环
Jul 16 面试题
什么是"引用"?申明和使用"引用"要注意哪些问题?
Mar 03 面试题
介绍一下.NET构架下remoting和webservice
May 08 面试题
linux面试题参考答案(8)
Apr 19 面试题
Linux面试题LINUX系统类
Nov 19 面试题
介绍一下linux的文件权限
Jul 20 面试题
软件测试笔试题
Oct 25 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
Java文件和目录(IO)操作
Aug 26 面试题
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+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
Angularjs 基础入门
2014/12/26 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python抓取网页中的图片示例
2014/02/28 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
浅析Python基础-流程控制
2016/03/18 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
课程设计心得体会
2013/12/28 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
初三家长会邀请函
2014/01/18 职场文书
个人委托书怎么写
2014/04/04 职场文书
庆祝儿童节标语
2014/10/09 职场文书
2016年端午节寄语
2015/12/04 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android
5个实用的JavaScript新特性
2022/06/16 Javascript