<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    rosial

    lost memory
    數據加載中……

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

    ????

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

    產品與版本

    ????? 一開啟console就會顯示下面的版權說明:

    REBOL/Core 2.5.6.3.1

    Copyright 1997-2003 REBOL Technologies

    REBOL is a Trademark of REBOL Technologies

    All rights reserved.

    ????? 你也可以利用about函數,來重現這一段文字:

    >> about

    REBOL系列產品的版本編號分成五個數字(有時候是四個數字),用點分開。前兩個數字代表功能性的改變,第三個數字代表小改變(例如:加上少數的功能,修改部分原有的bug),第四個數字代表OS,第五個數字代表OS的變異版本。整體來看,前三個數字是功能版本,后兩個數字是平臺版本。

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

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

    >> system/product

    == View

    >> system/version

    == 1.2.10.3.1

    >> system/build

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

    【注】build是一種更精細的版本號碼,REBOL以日期和時間來作為build的值。

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

    >> 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.

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

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

    ????? 這有兩種可能,其一是,你使用REBOL系統是實驗性質的版本(experimental version),而非正式發行版(release)。另一個可能是,REBOL Technologies公司忘了在更新服務器(upgrade server)上放置最新版,導致你的REBOL版本比更新服務器上的REBOL版本更新L

    使用upgrade前,請先確定網絡已經聯機。你可以用connected?函數來得知網絡是否聯機,true表示聯機,false表示未聯機:

    >> connected?
    ??? == true

    組件

    console窗口版權說明之后,接著列出此解釋器內所具備的組件(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)

    從這里可以看出,此版本的解釋器具備三個組件,分別是“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:提供許多網絡協議

    l?????????? Sysport存取COM1/COM2等系統外接端口port

    數據庫組件:

    l?????????? ODBC提供存取ODBC數據庫的功能

    l?????????? MySQL提供存取MySQL數據庫的功能

    l?????????? Oracle提供存取Oracle數據庫的功能

    操作系統組件:

    l?????????? Library:調用外部C語言動態鏈接庫(dynamic-linked library

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

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

    用戶界面(UI)組件:

    l?????????? graphics提供存取繪圖的功能。當以后的文章介紹到GUI時,就會說明此組件的用法。

    l?????????? view提供建立窗口的功能。當以后的文章介紹到GUI時,就會說明此組件的用法。

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

    l?????????? sound提供音效的功能。當以后的文章介紹到計算器音效時,就會說明此組件的用法。

    密碼組件:

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

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

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

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

    l?????????? Ssl:提供SSL網絡加密的功能

    其它:

    l?????????? BigNum提供大數的功能

    l?????????? Fastcgi:提供Fast CGI的接口。當以后的文章介紹到Web編程時,就會說明Fast CGI的用法。

    l?????????? License:提供授權的功能,本文章稍后會說明。

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

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

    == [ODBC

    ??? make object! [

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

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

    ??????? Name: 'ODBC

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

    >> component? 'usb

    == none

    >>?

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

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

    1? 所有REBOL解釋器的內含組件比較

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

    預先執行的腳本

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

    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內的程序是用來擴充系統的定義,user.r內的程序是用來進行用戶喜好的設定。這兩個文件都可以是空的,甚至文件不存在也可以。

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

    REBOL[ ]

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

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

    >> clrscr

    ????? 另外,如果你有一些新增的定義,可以放在user.r中。在下一節,我們會將網絡設定和安全設定放在user.r中。

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

    授權

    ????? 如果你取得了授權,則最后會出現類似下面的授權文字。

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

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

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

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

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

    【注】license.key必須向REBOL Technologies公司購買,請參考網頁:http://www.rebol.com/purchase.html的說明。對于REBOL的初學者來說,可以不用購買授權,因為免費的REBOL/CoreREBOL/View目前已經夠我們使用。

    ????? 如果你沒有取得授權,則會出現類似下面的說明文字,這表示,因為你未取得授權,所以只能使用一部份的功能。

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

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

    ????? 你可以通過system/user-license/message來觀看授權文字

    >> system/user-license/message

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

    License ID: x-xxxxx-x}

    ????? 另外,也可以利用system/user-license來得知授權用戶的名字和序號

    >> system/user-license/name

    == "xxxxx-xxxx xxxx (commercial)"

    >> system/user-license/id

    == #x-xxxxx-x

    ????? 詳細授權書內容,可以從利用license函數取得。

    >> license

    其實,授權書內容存放在system/license變量內。

    >> system/license

    == {REBOL/Command End User License Agreement…

    ????? 因為授權書內容太長,所以只顯示出一小部份,我們可以利用print函數來將此內容全部顯示出來:

    >> print system/license

    ?

    發表日期: Feb. 22, 2004

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

    主站蜘蛛池模板: 午夜一级毛片免费视频| 无码囯产精品一区二区免费 | 一本色道久久综合亚洲精品| 国产偷国产偷亚洲高清人| 日本不卡在线观看免费v| 亚洲妇女无套内射精| 日本免费一区二区三区最新| 国产亚洲美女精品久久久久| 国产成人在线观看免费网站| 黄色a级片免费看| 国产福利电影一区二区三区,亚洲国模精品一区| 老司机免费午夜精品视频| 亚洲精品成a人在线观看| 中文字幕免费观看全部电影| 亚洲精品无码久久久久sm| 久久成人免费电影| 亚洲成a人片7777| 女人与禽交视频免费看| 人人公开免费超级碰碰碰视频| 中文字幕亚洲日本岛国片| 国产白丝无码免费视频| 亚洲videos| 又粗又大又猛又爽免费视频| 怡红院免费全部视频在线视频| 亚洲三级电影网址| 成年人网站在线免费观看| 理论片在线观看免费| 亚洲AV永久无码精品| 免费观看激色视频网站(性色)| 亚洲国产欧美一区二区三区| 国产日产亚洲系列最新| 91视频免费网址| 最新亚洲人成网站在线观看| 老司机亚洲精品影视www| h视频在线观看免费完整版| 看成年女人免费午夜视频| 亚洲五月六月丁香激情| 日本免费无遮挡吸乳视频电影| 久久er国产精品免费观看2| 中文日韩亚洲欧美制服| 国产亚洲av片在线观看18女人 |