脚本文件

来源:互联网 发布:易语言短信轰炸机源码 编辑:程序博客网 时间:2024/05/16 14:32

脚本文件

 

结束交互环境之后,历史记录就被清除了,下次无法延续。有些程序,我们觉得有价值,想把

它保留下来,或许以后还用得着。REBOL允许我们通过记事本等文本编辑软件,进行代码的

编写并存档。以前面网站下载图片的程序为例来说,你可能想把它保留下来。做法如下:

用任何一个文本编辑器(例111如Windows 的记事本或Mac OS X 的文本编辑),将之前

的ABC 三行代码依次输入(或者从交互环境的历史记录中复制过来)。

222 最前面加上REBOL[],这称为REBOL文件头(header)。

333 把此文件保存为纯文本格式,UTF-8编码(下一章再解释什么是UTF-8),保存在与

REBOL 解释器相同的目录,文件名download.reb

如果你使用微软Windows记事本,保存时的操作方式是:文件→另存为→选择目录→保存类

型(所有文件)→输入文件名download.reb→编码(UTF-8)→确定。如果你使用Mac OS

X 的文本编辑,保存时的操作方式是:格式(纯文本)→存储为→选择目录→输入文件名

download.reb →编码(UTF-8)。

REBOL 解释器没有限制我们脚本必须使用什么扩展名,一般常看到的REBOL脚本扩展名有

.r、.reb、.r3。建议使用.reb 当扩展名。

编写REBOL 脚本文件时,不要使用太华丽的编辑器(例如微软Word),因为:

它可能会在文件中记录很多REBOL•• 解释器不需要的信息(例如字体、颜色),这将导

致我们的代码无法运行。

•• 它可能会在我们编辑的时候,多余地帮我们做字符转换,例如把""转为“”,这将导

致我们的代码无法运行。

 

 

在交互环境下,先设置好url单字,然后在do 的后面接着输入脚本文件名,就可运行

REBOL 脚本文件。REBOL 中规定文件名称前面要加上%符号。也就是说,download.reb 必须

写成%download.reb

如果脚本运行成功,会看到一行文字,打印出脚本的名称(Script)、版本(Version)、日期

(Date),这些我们目前都没定义,所以显示Untitled 和none(空值)。没有错误信息表示一切

顺利。

你到当前的目录下会发现图片已经下载回来了,用鼠标双击图片,就可打开。如果运行不成功,

就看看错误信息,从中分析,找出问题所在,并做出修改,这是程序设计人员必须具备的基本

素质。下一个页面是分析问题的过程示例。

 

 

如果输入do %download.reb,得到的错误信息是**Access error: cannot open:

%download.reb,这表示文件不存在。可通过LS,看看当前目录下所有的文件,证实文件

确实不存在。

如果do %download.reb无法顺利运行,而且在LS 的结果中看到一个文件名为download.

reb.txt,这表示我们之前在保存文件时没有做出正确的选择,造成文件名称错误。我们可以通

rename改变它的名字,做法如上图所示。

如果确定文件存在正确的目录下,文件名称也正确,但还是无法顺利执行,这时候我们就要怀

疑是不是内容格式有错误。再强调一次,REBOL要求脚本必须是纯文本格式,UTF-8编码。

关于文本格式与编码,下一章会有说明。

某些文字编辑器保存文件的时候,如果不做选择,将默认采用富文本格式而不是纯文本格式。

富文本格式内会包含字体、颜色等信息,这类格式的文件都比较大,通过size?函数就可以

得知该文件的大小是多少字节(下一章会介绍字节),如果我们发现它比纯文本代码格式所需

要的94 字节更多(你的程序中的空格与换行可能与我的不完全一致,所以你的脚本大小不一

定是94 这个数字,但应该很接近94),且大了很多,则可能是富文本,这时候你需要用编辑

器重新将文件保存为之前规定的格式(UTF-8纯文本)。按照前面的说明,重新保存一次。

 

 

这是另一个脚本文件的范例。有点特别的是,我们在代码中使用了中文(REBOL 允许代码中

出现各国文字)。我暂时不解释这段代码的细节。

与前面download.reb 的例子一样:

111 通过文本编辑器输入代码。

222 保存时用UTF-8 纯文本格式,文件名greeting.reb,存放到当前目录。

 

 

同样,通过do函数来执行greeting.reb 代码。你会看到此程序询问你叫什么名字,输入你的名

字之后按下回车键,就会看到此程序对你打招呼。

 

 

我们已经写过download.reb与greeting.reb 这两个脚本文件。既然程序要写在文件中才能保存,

那么交互环境又有什么价值?

虽然REBOL 程序员真正的程序设计工作都是在文本编辑器中完成的,但他们经常会同时打开

交互环境,在上面做一些实验,验证自己的想法是否正确,或者查询一下说明文档,然后再回

文本编辑器内继续写程序。

在交互环境与文本编辑器中写代码的差异不大:交互环境的程序通常很短,一行就是一个程序。

交互环境不需要写REBOL[]文件头。其他情况下,交互环境与文本编辑器几乎没有差别。

 

本文节选自《编程ING:人人都能学会程序设计》一书

蔡学镛著

电子工业出版社出版

图书详细信息:http://blog.csdn.net/broadview2006/article/details/7768124

 

原创粉丝点击