认识Ruby

整天闷在学校里非变成木头不可,别的语言还没精通一门,这又冒出来一个Ruby,而且成长势头直逼当前主流变成语言。业界争论的不可开交,校园里还是一片歌舞升平。不知道应该欢喜还是应该忧伤。

唉,算了。该精通的还得精通,为完成的路还要继续走下去。谁知道下下一代的主流语言咱不会是先锋呢?^^

这里先了解一下所谓的"Ruby":

----------Ruby 语言是由日本的 Yukihiro Matsumoto 开发,初衷是用来控制文本处理和系统管理任务的。

---------Ruby 语言的优点:
1.  迅速和简便的特性。无需声明变量、无需变量类型、无需行结束符、无需人工管理内存,语言简单的代码中透露着坚实的基础。
2.  真正面向对象编程。比较前面介绍的大型程序设计语言:任何事物都包含一个对象,每个对象可以有自己的属性、方法、事件。还有类、继承、重载等!而Ruby 采用是一种单态方法、模块糅合以及迭代器和闭包(closures)的特性。
3.  它是解释性脚本语言。这种解释性的脚本语言不仅有直接呼叫系统调用的能力、强大的字符串表达式和正则表达式,还可以在开发过程中快速回馈。
4.  采用多精度整数、异常处理模式、动态装载及线程。

--------Ruby 的获得与安装
需要声明的是Ruby 是一个没有任何使用限制的自由软件,我们可以任意传播使用它。
大家可以从网站上搜索下载最新版本:
http://ruby-lang.org/en/
安装软件对大家来说并不陌生,在这里不再占用文章来介绍这个窗口按哪个命令的问题。所以在下载的Ruby安装中,只需要点击Next就畅通无阻了。
首先声明:
1.因为在这里我们重点研究的不是Ruby编写像SketchUP一样的应用软件,而是通过掌握Ruby 语言的特点,结合SketchUP 中对Ruby 语言提供的接口,来开发SketchUP中的新功能,以加快我们工作的效率。所以我们的重点是后者,又因在开发过程中必须先了解Ruby的语法基础、数据类型及面向对象程序设计基础的相关知识,才能在SketchUP开发中避免不应该出现类似“建筑设计违反规范”类的错误。
2.也正因为第一条,所以建议大家不必使用Ruby编辑器。因为对于开发SketchUP的功能来说,我认为,通过学习掌握了Ruby的基础知识,然后用这种方法更为方便的进行调试及编写代码的工作:在SketchUP安装目录下 Plugins 文件夹内建立 (*.RB) 类型的文件,然后用记事本编写程序代码。用SketchUP 程序调试来的快捷、方便。这样调试成功以后,立即就可以迅速推广并使用。
3.关于在介绍Ruby的基本语法中,部分会使用Ruby 编辑器的测试结果,来帮助大家熟悉、掌握。考虑现在软件业在Linux 操作系统下还没有如AutoCAD等功能强大的作图工具,故不再介绍在Linux 操作系统下Ruby 编辑器调试的方法。不过,编写出来的SketchUP 插件在其他操作系统中具有同样的功能。也是只需要复制到相关目录中即可。

---------SketchUp Ruby API
SketchUp包含了一个Ruby开发程序接口(API),这个接口可以使熟悉(或想要学习)Ruby脚本的用户扩展SketchUp的功能。也允许用户创建宏,例如集成SketchUp菜单中的组件自动生成脚本或附加工具等。除API外,SketchUp还包括一个测试Ruby 命令和方法的Ruby 控制台(Ruby Console)。
SketchUp Ruby API 由一系列SketchUp专用的Ruby模块构成,这在面向对象的程序设计体系(OOP)中称之为”类”(classes),与之对应的命令在OOP中称之为”方法”(methods)。它们可以用于生成宏(macros)和在SketchUp中控制几何图形。类可以理解为在SketchUp中组织相关命令的机构。我们可以从SketchUp的帮助文件中查看具体的内容。

---------开发过程中的调试:
在开发过程中,如何检测处理RB文件运行错误是一个重要的问题。@Last software为我们在SketchUp中集成了Ruby Console用来显示错误的信息。
首先要我们了解如何加载到SketchUp中进行调试:
1).自动加载法:将RB文件放置在安装目录中Plugins目录下,重启SketchUp,然后执行菜单功能进行调试,调试时可以打开Ruby Console进行观察错误信息(此方法调试比较烦琐,一般用于调试成功后进行应用时的自动加载)。
2).手动加载法:将RB文件放置在任意位置,记下绝对路径,加载时在Ruby Console里输入:
load “绝对路径/xxx.rb “
即可加载并按上面的方法进行调试。
3). 控制加载法:将RB文件放置在任意位置,记下绝对路径,并在需要加载的时候,可以在Plugins目录中在其它RB文件中增加或新建有下列内容的RB文件:
require “绝对路径/xxx.rb “
这种方法对于管理时非常方便,可以随着我们的意愿进行加载。不过,真正要加载的RB文件不要放在Plugins下(可在其中建立新目录)。
缺省的加载路径为:安装目录/Plugins/
SketchUp没有提供较好的卸载RB文件的方法,除控制加载法外的RB文件,从Plugins目录中移走即可。对于控制加载法,我们可以修改我们建立或增加的RB文件将上面的加载信息添加(#)变为注释即可,在需要加载时删除(#)。
当RB文件不能正常运行或运行结果不正确时,表明程序中有错误,SketchUp Ruby错误大致可以分为以下三种:
1).语法错误(Syntax Error):主要指编写的语句不符合Ruby语法规范(例如:常量、变量命名错误,括号不匹配等);语法错误最容易发现和更正,因为在我们加载RB文件错误时,打开Ruby Console会给出语法错误所在的行及语法错误类型和其它错误信息,所以我建议初学者使用Ruby专用编辑器很重要的原因就是提供给我们的行号等信息,可以很方便的供我们查找错误的根源。
2).运行错误(Run-time Error):指程序可以加载通过,但在运行的时候出现错误;例如:我们在RB文件中出现除数为0的情况等,产生这样的情况有时会导止SketchUp崩溃。
3).逻辑错误:指编写RB文件时,设计和实现的错误,程序可以加载通过,也没有错误信息,但执行结果却不是我们想要的(比如死循环,同样导至SketchUp崩溃),所以这类错误应该是最令我们头疼的。建议我们尽可能事前做周密的分析及布署,古人云:”凡事预则立,不预则废”,意思就是无论做什么事,事前若有周密的计划,就可取得事半功倍的效果;否则,不失败也会进步缓慢。不仅建筑设计如此,编程也一样,出现问题时,尽可能用排除法缩小范围,最终一网打尽。

你可能感兴趣的:(认识Ruby)