菜鸟词典--什么是REBOL

来源:互联网 发布:淘宝最大的刷钻平台 编辑:程序博客网 时间:2024/04/23 16:52

今天在书中发现REBOL这个语言,不甚了解。查阅资料后CRTL+V上来。来源于http://www.jsarmy.com/bbs/archive/index.php?t214.html

 

REBOL 代表基于相关表达式的对象语言(Relative Expression Based Object Language).



REBOL 发音为"reb-ol" ,和“rebel with a cause”中的一样。



REBOL 是一种消息式的语言。他的主要目的是提供一种轻量级的分步计算和通讯的方法。



REBOL 由Carl Sassenrath设计, 是Amiga OS——世界上第一个个人电脑的多任务操作系统——的系统架构师。



REBOL 不仅仅只是一个编程语言。他还是一种用于表示数据和元数据的语言。他给计算、存储和信息交换提供了同一种方法。



REBOL 有十分丰富的软件包。初学者可以从REBOL/Core和REBOL/View开始。专业人士会发现REBOL/Command和REBOL/SDK十分有用。公司和组织会发现REBOL/IOS是一个强大的协作交流平台。



REBOL 代码和数据跨越了40多种平台。在Windows上写的脚本和在Linux, UNIX和其他平台上运行得都一样,根本无须任何改动。



REBOL 引入了方言化的概念。方言是一个小巧有效专门针对特殊领域的子语言。



REBOL 本意就是要保持小巧——即使他已经包含了数百条函数,几十种数据类型,内置帮助,多种Internet协议、压缩、错误处理、调试控制台、加密和更多。



REBOL 程序很容易书写。你所需要的仅仅是一个文本编辑器。一个程序可以只有一行也可以是一整个应用程序包含了几十个文件。。同时,你的程序不需要对库和包含做声明。



上手例子



在REBOL中,简单的任务有简单的做法。这里有一些例子:



如果你想尝试这些例子,只要下载REBOL。他确实很小,下载得很快。它不需要任何复杂的安装也不需要任何特殊的类库。他很简单。要运行REBOL,只要点击他的图标。(如果你在使用REBOL/View,在他启动之后点击console图标来打开控制台窗口。)



先尝试一下经典的Hello World例子:



print "Hello World!"

或者,把它作为一个邮件消息发送给一个朋友:



send luke@rebol.com "Hello World!"

要直接从一个网站运行一个脚本



do http://www.rebol.com/speed.r

这个叫本会显示你的计算机有多快。



如果要查看脚本的源代码:



print read http://www.rebol.com/speed.r

如果要保存源代码到一个文件:



write %speed.r read http://www.rebol.com/speed.r

要在本地运行代码,你可以输入:



do %speed.r

当然,你可以用同样的方法保存任何网页:



write %page.html read http://www.rebol.com

要给一个朋友通过邮件发送一个网页:



send luke@rebol.com read http://www.rebol.com

要下载一封REBOL的拷贝,你要指明它是二进制的。像这样:



write/binary %rebol.zip

read/binary http://www.rebol.com/downloads/core031.zip

同时,你可以看见REBOL并不关心你代码中的换行。



如果你要把一个目录中的所有文件作为邮件发送(假设他们都是文本文件):



files: load %letters/

foreach file files [send luke@rebol.com read file]

但是,也许你只想发送包含单词REBOL的文件:



foreach file files [

text: read file

if find text "REBOL" [send luke@rebol.com text]

]

如果你想把那些文件连成一个单独的消息并发送出去:



message: copy ""

foreach file files [append message read file]

send luke@rebol.com message



进阶例子



如果要查看你所有的email消息但是不把他们从服务器上删除,这样:



print read pop://luke:r2d2@rebol.com

当然,你也许想一次性都读出他们:



mail: open pop://luke:r2d2@rebol.com

foreach message mail [

print message

ask "Next? "

]

close mail

要删掉所有包含单词“spam”的邮件:



mail: open pop://luke:r2d2@rebol.com

while [not tail? mail] [

either find first mail "spam" [

remove mail

][

mail: next mail

]

]

close mail

当你准备发送一个信息到你的经纪人,信息可以被她的基于REBOL的股票交易程序自动处理:



send broker@sell-it-now.dom [

sell 1000 shares "Microsoft" MSFT at $50.00

]

以上的例子用到了REBOL的dialecting(方言化)概念——一种在网络上收发消息的极其有用的技术。



如果你的老板要求你每小时自动发送几个网页作为邮件:



pages: [

http://www.cnet.com

http://www.rebol.com/index.html

http://www.news-wire.com/news/today.html

]



loop 24 [

foreach page pages [send boss@hans.dom read page]

wait 1:00

]

如果你需要摘录并打印网页的标题,你可以这样解析:



page: read http://www.cnet.com

parse page [thru ]

print title



生成脚本文件



你可以把上述任何例子输入文本编辑器(如Windows上的Notepad)然后保存为一个文件。你可以把这个文件拖至REBOL图标的上方来启动它。



你需要添加一个简短的REBOL头到你的文件的顶端:



REBOL [Title: "Example"]

这个标头表示这个文件是一个REBOL的代码同时可以提供一些有用的文档说明和其他的选项。



你的程序应该看起来像这样:



REBOL [Title: "Example"]

print "Hello World!"

如果你正在使用REBOL/View,你也许想在你的脚本的底部添加一行这样你可以看到结果(在窗口关闭之前)。只要在结尾添加一个halt,这样控制台窗口就会开着:



REBOL [Title: "Example"]

print "Hello World!"

halt



内嵌帮助



如果要在REBOL中获得帮助,输入:



help

你可以查询某个特殊字的信息:



help loop

或者,查找符合一个字符串模式的帮助:



help "mail"

或者,察看REBOL所有的数据类型:



help datatype!

然后你可以查看REBOL中所有的高级函数用:



help function!

当然,还有本地代码、动作和其他类型的函数。



如果你想看高级函数的代码:



source reform

通过查看内嵌函数的代码,你可以了解很多有用的REBOL的编程方法。



仅仅是一个开始



我们希望以上的例子能给你一个好的REBOL的概念。我们在保持REBOL简洁上作了相当多的工作。当然,REBOL远不止这些东西。在,REBOL是一个高级编程语言,它在很多地方都很独特。常常有人说REBOL就像一片湖水,你看到了表面,同时你可以在湖面上尽情欢乐,但这不是湖水的全部。仍然有很多东西需要去深入了解。当然,作为初学者你不需要去了解那些东西。当你学到更多的东西,我们希望你能发现REBOL到底能做多少事情。请看一下我们的文档索引如果你想“游”得更深一些。