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

面试题 相关文章推荐
如何写出高性能的JSP和Servlet
Jan 22 面试题
Java中compareTo和compare的区别
Apr 12 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
创建索引时需要注意的事项
May 13 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
Sep 29 面试题
Linux常见面试题
Mar 18 面试题
如何防止同一个帐户被多人同时登录
Aug 01 面试题
编程用JAVA解析XML的方式
Jul 07 面试题
Java中各种基本数据类型的默认值都是什么
Dec 22 面试题
UNIX文件系统常用命令
May 25 面试题
什么是servlet
May 08 面试题
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部分常见问题总结
2008/03/27 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
jquery中get和post的简单实例
2014/02/04 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jquery选择器简述
2015/08/31 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
python使用opencv进行人脸识别
2017/04/07 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python集合删除多种方法详解
2020/02/10 Python
python实现飞机大战项目
2020/03/11 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
一份婚庆公司创业计划书
2014/01/11 职场文书
个人工作表现评语
2014/04/30 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
2014年科室工作总结
2014/11/20 职场文书
灵山大佛导游词
2015/02/04 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL