`
roruby
  • 浏览: 324511 次
  • 来自: ...
社区版块
存档分类
最新评论
阅读更多
 教程:Ruby概述

Ruby是面向对象的编程语言,她追求的是“简便快捷的面向对象编程”。Ruby是解释型语言,因此不需编译即可快捷地编程。同时Ruby具有类似Perl的强大的文本处理功能,她可并不只是个玩具,您可以用她来进行实用的编程。此外,您还可以很方便地使用C语言来扩展Ruby的功能,因此可以把她当作各种库的前端来使用。

若您曾经“想要一种简单的面向对象的语言”,或者认为“Perl的功能虽然好用,但它的语法真让人受不了”,又或者觉得“lisp系列语言的思想不错,但到处都是括号真让人讨厌,最起码算式应该按照通常的样式书写”。那么,Ruby或许能让您满意。

归纳以来,Ruby有以下优点。

解释器
Ruby是解释型语言,其程序无需编译即可轻松执行。
变量无类型
Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。
不需要变量声明
所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。
语法简单
语法比较简单,类似Algol系语法。
不需要内存管理
具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
一切都是对象
Ruby从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。
类,继承,方法
Ruby当然具有面向对象语言的基本功能。
特殊方法
可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(有人这么干吧)。
用模块进行混合插入(Mixin)
Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。
迭代器
该功能可以将循环抽象化。
闭包
可以将某过程片段对象化。对象化后的该过程片段就称作闭包。
功能强大的字符串操作/正则表达式
以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。
拥有超长整数
添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。
具有错误处理功能
错误处理功能可以使您编写代码处理出错情况。
可以直接访问OS
Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。
动态加载
若OS支持的话,可以在运行时读入对象文件。

但Ruby也有下列缺点。

  • 因为Ruby是解释型语言,所以速度较慢
  • 静态检查比较少 
分享到:
评论

相关推荐

    中文版 Ruby 设计模式.pdf

    《Ruby设计模式》以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、使用模板方法变换算法、使用策略替换算法、通过观察器保持协调、通过迭代器遍历集合、使用命令模式完成任务、使用适配器填补空隙、使用装饰...

    Ruby设计模式(中文版+英文版).pdf

    本书以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、使用模板方法变换算法、使用策略替换算法、通过观察器保持协调、通过迭代器遍历集合、使用命令模式完成任务、使用适配器填补空隙、使用装饰器改善对象、...

    什么是ruby和Ruby概述

    Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点”小题大作”,而Ruby刚好可以满足这些面向对象...

    Web程序设计计算机科学经典教材.doc

    21 1.9.9 Servlet、JavaServer Pages和 JavaServer Faces概述 22 1.9.10 ASP.NET概述 22 1.9.11 Ruby概述 23 1.9.12 Rails概述 23 1.10 本章小结 24 1.11 复习题 25 1.12 练习题 26 第2章 XHTML简介 29 2.1 HTML和...

    从Ruby发送邮件的快捷方式。-Ruby开发

    Pony,在Ruby概述中发送电子邮件的快速方式Ruby不再必须嫉妒PHP的mail()函数,该函数可以在一个命令中发送电子邮件。 Pony.mail(:to =>'[受电子邮件保护]',:from =>'[受电子邮件保护] Pony,在Ruby概述中发送...

    ruby开发的基本流程.doc

    Ruby开发流程涉及多个关键步骤,从环境搭建到项目部署,下面是一个大致的流程概述: Ruby开发环境搭建:首先,需要在计算机上安装Ruby开发环境。推荐使用macOS或各种发行版本的Linux作为运行环境,尽管Windows下也...

    ncurses-ruby, 用于访问ncurses库的ruby 模块.zip

    ncurses-ruby, 用于访问ncurses库的ruby 模块 ncurses红宝石用于访问ncurses库的ruby 模块概述这个自述文件解释了如何使用 ncurses ruby 接口。 假设读者对ncurses库的理解以及如何从C 语言中使用它有一个大致的理解...

    Ruby 教程 从入门到精通

    第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章 Ruby编程环境 9 §2.1 Ruby的安装 9 §2.1.1 在Windows 95/98/Me/XP上安装Ruby 9

    Ruby 教程 初学者必备

    第一部分 Ruby语言基础 第一章 Ruby语言概述 §1.1 Ruby的历史 §1.2 Ruby名字的由来 §1.3 Ruby的特点 §1.4 Ruby和Python的比较 。。。

    ruby语法基础教程

    第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章 Ruby编程环境 9 §2.1 Ruby的安装 9 §2.1.1 在Windows 95/98/Me/XP上安装Ruby 9 §2.1.2...

    versionomy, ruby的通用版本号类.zip

    versionomy, ruby的通用版本号类 VersionomyVersionomy是一个通用版本号库。 它提供了用来表示。操作。分析和比较各种版本模式中的版本号的工具。本文档概述了Versionomy的特性,并提供了快速概要和功能列表。 有关...

    wit-ruby:Wit.ai 的 Ruby 库

    概述 wit-ruby提供了一个具有以下方法的 Wit 类: message - Wit interactive - 与您的机器人开始互动对话 机智班 Wit 构造函数采用具有以下符号键的Hash : :access_token - 你的 Wit 实例的访问令牌 一个最小的...

    一个基于社区Ruby样式指南的Ruby静态代码分析器和格式化程序。-Ruby开发

    开箱即用,它将强制执行Ruby样式指南社区中概述的许多指南。 除了报告在代码中发现的问题外,RuboCop还可以自动为您解决其中的许多问题。 RuboCop非常灵活,其行为的大部分方面都可以通过各种配置选项进行调整。 请...

    计算机技术概述

    电子商务技术概述HTML和XHTML XML JavaScript Java .NET Perl PHP Ruby Rails Ajax

    rubyref:Ruby文档重定向

    rubyref.net-Ruby文档重定向源代码-...概述Middleman构建了一个静态index.html ,并将其部署到Netlify。 将所有对*.rubyref.net请求( www除外)重定向到https://rubyref.net/redirect/* 。 这要么使用Cloudflare的缓

    Ruby代码质量报告程序-Ruby开发

    目录概述入门使用率分析器Conf RubyCritic RubyCritic是一个环绕于静态分析gem(如Reek,Flay和Flog)的宝石,可提供有关Ruby代码的质量报告。 目录概述入门使用情况分析器配置替代使用方法Rake任务兼容性提高...

    trailblazer:Ruby的高级架构

    有关新增功能的概述。 我们正在开发几个新的示例应用程序! 重构到Trailblazer讨论了cfp-app如何转换为TRB应用程序。 BPMN和工作流详细显示了如何使用Trailblazer中的2.1新功能。 。开拓者简而言之所有业务逻辑都...

    rubocop:基于社区Ruby样式指南的Ruby静态代码分析器和格式化程序

    -官员Alex J.Murphy / RoboCop RuboCop是Ruby静态代码分析器(又名linter )和代码格式化程序。 开箱即用,它将强制执行社区概述的许多准则。 除了报告在代码中发现的问题外,RuboCop还可以自动为您解决许多问题。 ...

    cells:查看Ruby和Rails的组件

    概述 单元格使您可以将UI的一部分封装到视图模型的组件中。 视图模型或单元格是可以呈现模板的简单Ruby类。 但是,单元不仅仅为您提供模板渲染器。 它们允许适当的OOP,多态生成器,,视图继承,使用Rails帮助器,...

Global site tag (gtag.js) - Google Analytics