[转]REBOL 语言简介

REBOL 语言简介

翻译:ShiningRay @ NirvanaStudio

本文是一篇针对新用户的技术文档。他给出了一个REBOL的简明概述和一个例子。

Quick Facts

  • 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 .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 <title> copy title to </title>]
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到底能做多少事情。请看一下我们的文档索引如果你想“游”得更深一些。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值