日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

TCL腳本數(shù)據(jù)文件格式


寫(xiě)在前面的話
在論壇上看到這篇文章時(shí),一時(shí)沖動(dòng),發(fā)出一個(gè)貼子:Let me try.等真正大致看了一下原文后,才有些后悔,倒不是怕工作量太大,只是擔(dān)心以自己的英文水平能否把這個(gè)文章按照作者的意思表達(dá)清楚.不怕各位笑話,在此之前,我對(duì)TCL幾乎是沒(méi)有聽(tīng)說(shuō)過(guò)(只知道TCL----王牌),更不用說(shuō)掌握了.沒(méi)有辦法,只能現(xiàn)學(xué)現(xiàn)賣,在網(wǎng)上找到相關(guān)的介紹TCL的文章,認(rèn)真地對(duì)其進(jìn)行了了解,也只能是了解.
說(shuō)點(diǎn)題外話,我現(xiàn)在對(duì)計(jì)算機(jī)這一行,真的有些倦了,因?yàn)樽鳛橐粋€(gè)系統(tǒng)管理員,每天都有更新的東西在等待你去學(xué)習(xí),必須不停地學(xué),而不能有片刻的停頓,否則你就將面臨被淘汰的危險(xiǎn),有時(shí)真的感覺(jué)很累,但沒(méi)有辦法,這就是生活,頭天晚上你對(duì)著厚厚的書(shū)本說(shuō),我看到你就惡心,再也不想碰你了.但睡一覺(jué)醒來(lái),你還是得把它當(dāng)作一位良師,一位益友.
我的英文水平一般,況且TCL語(yǔ)言對(duì)我是個(gè)新事物,盡管現(xiàn)在有了一定的了解,但其中的一些術(shù)語(yǔ),我還是理解的不夠透徹.所有譯文中的有些地方可能讓大家覺(jué)得有些迷惑,甚至可能有些可笑,對(duì)此還請(qǐng)各位諒解.也希望有高手能指出譯文中的錯(cuò)誤,別讓我的劣作影響了各位網(wǎng)友的學(xué)習(xí).
同時(shí)也真誠(chéng)希望大家給我來(lái)信,交朋友,共同提高.
我的email:zkzxl@etang.com
不知我的譯文出來(lái)前,是否已經(jīng)有網(wǎng)友為各位譯出來(lái),希望能夠互相交流一下.
********************************************************************************
TCL腳本數(shù)據(jù)文件格式
簡(jiǎn)介
一個(gè)典型的tcl腳本把它的內(nèi)部數(shù)據(jù)保存在列表和數(shù)組(tcl中兩種主要的數(shù)據(jù)結(jié)構(gòu))中.比如,假定你想寫(xiě)一個(gè)能將數(shù)據(jù)先保存在磁盤(pán)上,然后再讀取的tcl應(yīng)用程序, 這將使你的用戶可以先把一個(gè)項(xiàng)目保存下來(lái),以后再重新裝入.你需要一個(gè)辦法,把數(shù)據(jù)從其內(nèi)部存儲(chǔ)處(列表與數(shù)組)寫(xiě)入到一個(gè)文件中,同樣,也要有一個(gè)辦法把數(shù)據(jù)從文件中讀出裝入到正在運(yùn)行的腳本中去.
你可以選擇把數(shù)據(jù)保存為二進(jìn)制格式或文本格式.本文討論的僅限文本格式,我們將考慮幾種可能的數(shù)據(jù)格式及如何用tcl來(lái)進(jìn)行分析.我們會(huì)特別介紹一些簡(jiǎn)單的技巧,使文本文件分析更容易.
本文假定你對(duì)tcl語(yǔ)言很熟悉,至少已經(jīng)用tcl語(yǔ)言寫(xiě)過(guò)幾個(gè)腳本.
▲一個(gè)簡(jiǎn)單的例子
假定你有一個(gè)簡(jiǎn)單的繪圖工具,能把文本和長(zhǎng)方形放到畫(huà)布上.為了保存畫(huà)好的圖,你需要一個(gè)必須容易讀取的文本格式的文件,最先想到而且最容易的文件是這樣的:
example1/datafile.dat
rectangle 10 10 150 50 2 blue
rectangle 7 7 153 53 2 blue
text 80 30 "Simple Drawing Tool" c red
The first two lines of this file represent the data for two blue, horizontally stretched rectangles with a line thickness of 3. The final line places a pIEce of red text, anchored at the center (hence the "c"), in the middle of the two rectangles.
文件的前兩行代表兩個(gè)藍(lán)色的水平展開(kāi)的長(zhǎng)方形,線條寬度是2(原文此處為3,可能是筆誤,譯者注).最后一行放了一段紅色的文字,定位在中心(由"c"來(lái)指定)----在兩個(gè)長(zhǎng)方形的中間.
用文本文件保存你的數(shù)據(jù)使程序的調(diào)試更容易,因?yàn)槟憧梢詸z查程序輸出來(lái)保證一切都正常 。同時(shí)也允許用戶手工修改保存的數(shù)據(jù)(這樣做可能好,也可能不好,取決于你的意圖).

當(dāng)你讀取這種格式的文件時(shí),或許得先對(duì)文件進(jìn)行分析然后據(jù)此創(chuàng)建數(shù)據(jù)結(jié)構(gòu).分析文件時(shí),你要一行一行地嘗試,使用象regexp這類的工具來(lái)分析文本不同的部分.下面是一個(gè)可能的過(guò)程:
example1/parser.tcl
canvas .c
pack .cset fid [open "datafile.dat" r]
while { ![eof $fid] } {
# Read a line from the file and analyse it.
gets $fid lineif { [regexp
{^rectangle([0-9] )([0-9] )([0-9] )([0-9] )([0-9] )(.*)$}
$line dummy x1 y1 x2 y2 thickness color] } {

推薦閱讀