rosial

          lost memory
          數(shù)據(jù)加載中……

          《爪哇夜未眠》- REBOL篇 - REBOL Console

          ????

          ????? 一進(jìn)入REBOL console你會(huì)看到一大串文字描述包含了版本聲明、組件列表component list、預(yù)先執(zhí)行的腳本pre-executed script以及授權(quán)信息。下面分別說明。

          產(chǎn)品與版本

          ????? 一開啟console就會(huì)顯示下面的版權(quán)說明:

          REBOL/Core 2.5.6.3.1

          Copyright 1997-2003 REBOL Technologies

          REBOL is a Trademark of REBOL Technologies

          All rights reserved.

          ????? 你也可以利用about函數(shù),來重現(xiàn)這一段文字:

          >> about

          REBOL系列產(chǎn)品的版本編號(hào)分成五個(gè)數(shù)字(有時(shí)候是四個(gè)數(shù)字),用點(diǎn)分開。前兩個(gè)數(shù)字代表功能性的改變,第三個(gè)數(shù)字代表小改變(例如:加上少數(shù)的功能,修改部分原有的bug),第四個(gè)數(shù)字代表OS,第五個(gè)數(shù)字代表OS的變異版本。整體來看,前三個(gè)數(shù)字是功能版本,后兩個(gè)數(shù)字是平臺(tái)版本。

          REBOL/Core 2.5.6.3.1來說,功能版本是2.5.6,平臺(tái)版本是3.1(代表x86 CPUWindows版本)。而REBOL/Core 2.5.0.3.2表示功能版本是2.5.0平臺(tái)版本是3.2(代表Alpha CPUWindows版本)。同樣地,REBOL/View 1.2.10.3.1來說功能版本是1.2.10平臺(tái)版本是3.1(也就是x86 CPUWindows版本

          任何時(shí)候如果你想知道你使用的是哪一個(gè)REBOL產(chǎn)品的那一個(gè)版本你可以通過system/productsystem/versionsystem/build【注】這三個(gè)變量來取得此信息

          >> system/product

          == View

          >> system/version

          == 1.2.10.3.1

          >> system/build

          == 6-Aug-2003/19:42:48-7:00

          【注】build是一種更精細(xì)的版本號(hào)碼,REBOL以日期和時(shí)間來作為build的值。

          ????? 任何時(shí)候,如果你想取得最新版的REBOL,你可以再到REBOL Technologies公司的網(wǎng)站下載,或者更簡單的方式是,使用upgrade函數(shù)。

          >> upgrade

          connecting to: www.rebol.com

          Script: "Download Current Version" (10-May-2001/20:12:53-7:00)

          Your copy of Windows XP/NT/2K/9X iX86 REBOL/core 2.5.6.3.1 is currently up-to-date.

          ????? 上面的信息表示你的版本已經(jīng)是最新版。使用upgrade函數(shù),你也很可能得到下面的信息:

          >> upgrade
          ??? You are running an unknown version of REBOL.

          ????? 這有兩種可能,其一是,你使用REBOL系統(tǒng)是實(shí)驗(yàn)性質(zhì)的版本(experimental version),而非正式發(fā)行版(release)。另一個(gè)可能是,REBOL Technologies公司忘了在更新服務(wù)器(upgrade server)上放置最新版,導(dǎo)致你的REBOL版本比更新服務(wù)器上的REBOL版本更新L

          使用upgrade前,請先確定網(wǎng)絡(luò)已經(jīng)聯(lián)機(jī)。你可以用connected?函數(shù)來得知網(wǎng)絡(luò)是否聯(lián)機(jī),true表示聯(lián)機(jī),false表示未聯(lián)機(jī):

          >> connected?
          ??? == true

          組件

          console窗口版權(quán)說明之后,接著列出此解釋器內(nèi)所具備的組件(component),如下所示:

          Component: "REBOL Mezzanine Extensions" 1.1.2.1 (29-Nov-2002/19:29:09)

          Component: "REBOL Internet Protocols" 1.59.2.15 (14-Feb-2003/1:45:14)

          Finger protocol loaded

          Whois protocol loaded

          Daytime protocol loaded

          SMTP protocol loaded

          POP protocol loaded

          IMAP protocol loaded

          HTTP protocol loaded

          FTP protocol loaded

          NNTP protocol loaded

          Component: "SystemPort" 1.1.2.5 (30-Nov-2002/17:24:03)

          從這里可以看出,此版本的解釋器具備三個(gè)組件,分別是“Mezzanine Extensions”、“REBOL Internet Protocols”、“System Port”。其中REBOL Internet Protocols組件包含了下列的Internet protocolFingerWhoisDaytimeSMTPPOPIMAPHTTPFTPNNTP

          ????? 我目前使用的REBOL解釋器是功能最完整的REBOL/Command/View,而不是REBOL/Core。以REBOL/Command/View來說,具有更多的組件,分門別類說明如下。

          基本組件(這些組件包含在REBOL/Core中):

          l?????????? Mezz:提供許多基本的功能

          l?????????? Protocols:提供許多網(wǎng)絡(luò)協(xié)議

          l?????????? Sysport存取COM1/COM2等系統(tǒng)外接端口port

          數(shù)據(jù)庫組件:

          l?????????? ODBC提供存取ODBC數(shù)據(jù)庫的功能

          l?????????? MySQL提供存取MySQL數(shù)據(jù)庫的功能

          l?????????? Oracle提供存取Oracle數(shù)據(jù)庫的功能

          操作系統(tǒng)組件:

          l?????????? Library:調(diào)用外部C語言動(dòng)態(tài)鏈接庫(dynamic-linked library

          l?????????? Shell:和OSshell溝通

          l?????????? Registry:用來存取Windows Registry

          用戶界面(UI)組件:

          l?????????? graphics提供存取繪圖的功能。當(dāng)以后的文章介紹到GUI時(shí),就會(huì)說明此組件的用法。

          l?????????? view提供建立窗口的功能。當(dāng)以后的文章介紹到GUI時(shí),就會(huì)說明此組件的用法。

          l?????????? viewtop提供桌面(desktop)的功能,第02篇會(huì)詳細(xì)介紹View Desktop

          l?????????? sound提供音效的功能。當(dāng)以后的文章介紹到計(jì)算器音效時(shí),就會(huì)說明此組件的用法。

          密碼組件:

          l?????????? crypt提供加密的功能

          l?????????? Crypt2提供加密的功能

          l?????????? dhdsa提供DH/DSA算法

          l?????????? rsa提供RSA算法

          l?????????? Ssl:提供SSL網(wǎng)絡(luò)加密的功能

          其它:

          l?????????? BigNum提供大數(shù)的功能

          l?????????? Fastcgi:提供Fast CGI的接口。當(dāng)以后的文章介紹到Web編程時(shí),就會(huì)說明Fast CGI的用法。

          l?????????? License:提供授權(quán)的功能,本文章稍后會(huì)說明。

          如何知道你的REBOL有無支持某組件,通過component?函數(shù)即可。

          >> component? 'odbc (注意:odbc前面要加上一個(gè)單引號(hào))

          == [ODBC

          ??? make object! [

          ??????? Title: "ODBC Access"

          ??????? Date: 24-Mar-2002/20:13:57

          ??????? Name: 'ODBC

          ??????? Version: 1...

          >> component? 'usb

          == none

          >>?

          如果得到非none的值,就表示有找到此組件。

          1列出了所有的REBOL解釋器以及所有的組件。方塊表示具備此組件;三角形表示雖然不具備此組件,但是有提供源文件,可以將源文件含入(include)。圓點(diǎn)表示雖然包含,但必須先取得授權(quán),否則功能被禁止使用。

          1? 所有REBOL解釋器的內(nèi)含組件比較

          ????? 其中,REBOL/BaseREBOL/ProREBOL/Face包含在REBOL/SDK產(chǎn)品中REBOL /ViewREBOL/View/Pro是同一個(gè)產(chǎn)品,只要取得授權(quán)key文件,就可以從REBOL/View升級(jí)到REBOL/View/ProREBOL/CommandREBOL/Command/View都是REBOL/Command產(chǎn)品的一部份。

          預(yù)先執(zhí)行的腳本

          ????? 加載組件之后,會(huì)立刻執(zhí)行兩個(gè)腳本,先執(zhí)行rebol.r,再執(zhí)行user.rREBOL腳本的擴(kuò)展名習(xí)慣用r)。你可能會(huì)看到下面的信息:

          Script: "REBOL Extended Definitions" (none)

          Script: "User Preferences" (4-Jul-2003/13:22:27+8:00)

          ???? 其中rebol.r就是上面的“REBOL Extended Definitions”,而user.r就是上面的“User Preferences”。也就是說,rebol.r內(nèi)的程序是用來擴(kuò)充系統(tǒng)的定義,user.r內(nèi)的程序是用來進(jìn)行用戶喜好的設(shè)定。這兩個(gè)文件都可以是空的,甚至文件不存在也可以。

          ????????? rebol.r的存在,是為了讓REBOL Technologies公司具有擴(kuò)充REBOL的彈性。例如,哪天REBOL Technologies公司想要提供一個(gè)清除console畫面的函數(shù),但又不想為此修改解釋器,他們可以發(fā)布一個(gè)rebol.r文件,內(nèi)文如下:

          REBOL[ ]

          clrscr: does [print "^(1B)[J"]

          ????? 那么我們就可以利用這個(gè)新增的clrscrclear screen)函數(shù),來清除console

          >> clrscr

          ????? 另外,如果你有一些新增的定義,可以放在user.r中。在下一節(jié),我們會(huì)將網(wǎng)絡(luò)設(shè)定和安全設(shè)定放在user.r中。

          ????? 也請注意,user.r文件內(nèi)容一開始,也必須是“REBOL[ ]”,用來告訴REBOL解釋器,這是一個(gè)REBOL script。本專欄第03篇會(huì)對(duì)此有更詳細(xì)的說明。

          授權(quán)

          ????? 如果你取得了授權(quán),則最后會(huì)出現(xiàn)類似下面的授權(quán)文字。

          Licensed to: xxx-xxx xxx (commercial) <xxx@xxx.xxx.xxx>

          License ID: *-*****-*

          解釋器有內(nèi)含某組件,不代表我們就可以使用此組件。如果沒有取得授權(quán),則某些組件會(huì)被禁止使用(disable)。

          ????? 上面提到,REBOL有一個(gè)組件叫做“License”,這正是用來處理授權(quán)的組件。REBOL/Core不包含License組件,所以沒有授權(quán)的問題,只要包含在REBOL/Core內(nèi)的組件,都可以使用。除了REBOL/Core之外,其它的標(biāo)準(zhǔn)REBOL解釋器都具備License組件,都需要授權(quán),否則無法使用某些部分的功能。

          ??????????????License組件處理授權(quán)的方式,是在同一個(gè)目錄下尋找名為license.key【注】的文件,如果找到了,則檢查此文件是否為正確的key,來決定授權(quán)是否成功。如果找不到license.key文件,授權(quán)當(dāng)然也算失敗。

          【注】license.key必須向REBOL Technologies公司購買,請參考網(wǎng)頁:http://www.rebol.com/purchase.html的說明。對(duì)于REBOL的初學(xué)者來說,可以不用購買授權(quán),因?yàn)槊赓M(fèi)的REBOL/CoreREBOL/View目前已經(jīng)夠我們使用。

          ????? 如果你沒有取得授權(quán),則會(huì)出現(xiàn)類似下面的說明文字,這表示,因?yàn)槟阄慈〉檬跈?quán),所以只能使用一部份的功能。

          *** REBOL/View license only. No REBOL/View/Pro features.

          *** Obtain REBOL/View/Pro from http://www.rebol.com

          ????? 你可以通過system/user-license/message來觀看授權(quán)文字

          >> system/user-license/message

          == {Licensed to: xxxxx-xxxx xxx (commercial) <xxx@xxx.xxx.xxx>

          License ID: x-xxxxx-x}

          ????? 另外,也可以利用system/user-license來得知授權(quán)用戶的名字和序號(hào)

          >> system/user-license/name

          == "xxxxx-xxxx xxxx (commercial)"

          >> system/user-license/id

          == #x-xxxxx-x

          ????? 詳細(xì)授權(quán)書內(nèi)容,可以從利用license函數(shù)取得。

          >> license

          其實(shí),授權(quán)書內(nèi)容存放在system/license變量內(nèi)。

          >> system/license

          == {REBOL/Command End User License Agreement…

          ????? 因?yàn)槭跈?quán)書內(nèi)容太長,所以只顯示出一小部份,我們可以利用print函數(shù)來將此內(nèi)容全部顯示出來:

          >> print system/license

          ?

          發(fā)表日期: Feb. 22, 2004

          posted on 2006-07-10 13:22 rosial 閱讀(374) 評(píng)論(0)  編輯  收藏 所屬分類: 蔡學(xué)鏞

          主站蜘蛛池模板: 金堂县| 安岳县| 皋兰县| 蒙阴县| 南和县| 静乐县| 萨迦县| 于都县| 基隆市| 榆树市| 双鸭山市| 当雄县| 墨竹工卡县| 当阳市| 湖南省| 南乐县| 周宁县| 稷山县| 微博| 九寨沟县| 江永县| 聊城市| 怀柔区| 宜宾县| 瑞金市| 都兰县| 商洛市| 普陀区| 百色市| 宝坻区| 永修县| 射洪县| 台南县| 涟水县| 云南省| 子洲县| 陕西省| 祁门县| 兴化市| 永新县| 佳木斯市|