999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談TCL(Tool Command Language)語言

2019-10-21 07:31:29劉嘉明
科學與財富 2019年7期

劉嘉明

摘 要:關于TCL語言,想必很多人都沒有聽說過,在語言中被大家熟知的就是出名的C語言,C++,C#,java語言,還有最近很流行的python人工智能語言。但是本文就拿出一個算是很古老的T語言,其實T語言的應用很廣,用于控制工具,在一些測試下經常用到,但是現在python的出現打破了T語言在其領域的地位。本文淺談TCL語言及一些控件,都是本人在學習T語言和python中的一點拙見。

關鍵詞:TCL;工具控制;TK控件

一、TCL的起源與發展

要談論一個語言就要先知道這個語言的來歷,就像我們學習C語言的時候,老師也會和我們說C語言的來源,演變過程,進化與完善。

Tcl 是“工具控制語言(Tool Command Language)”的縮寫。Tk 是 Tcl“圖形工具箱”的擴展,它提供各種標準的 GUI 接口項,以利于迅速進行高級應用程序開發。

John K. Ousterhout于 1988 年開始開發 Tcl/Tk(讀作“tickle tee-kay”),當時其是加州大學伯克利分校(UCB)的教授。Tcl 是以可擴展性、短的學習曲線和易于嵌入為特定目標而設計的。Tk 的開發始于 1989 年,第一個版本于 1991 年問世。

TCL語言簡單易懂,功能強大,常用于快速原型的開發,GUI,腳本,和測試。從測試行業接觸TCL,由于python的流行,發現tcl語言也在被取代。

就此說說我在TCL學習中的一些見解。探討有沒有學習TCL的必要性。

二、TCL語言到底是什么

TCL語言也常被稱:腳本語言,TCL語言其實包括兩部分:語言部分和庫部分。

(1)TCL語言的腳本部分

腳本部分可以理解就是語言的命令部分:就比如:set a 10;puts $a;相當與c語言的

打印命令:int a 10;printf(“%d”,a);就是通過發表命令給一些交互程序或者是一些文本編輯器,shell還要調試器。就比如C語言可以用程序寫文本文件,打開文本文件一樣。

TCL的語法簡易,和高可擴展性。

(2)TCL語言的庫部分

庫部分其實可以理解為庫函數包,而tcl的庫中含有一個腳本分析器來執行腳本命令過程,也可以通過腳本解析創建新的過程,用于擴充函數。這個庫能被嵌套應用程序,該程序可以產生腳本命令并執行過程。

(3)TCL交互界面

腳本命令可由用戶輸入,或者用戶接口中讀取,或者應用程序產生。實現多交互。內搭的腳本界面有tclsh和wish兩種界面,tclsh只支持tcl命令,wish能支持tcl和tk命令。

通過這些腳本交互界面可以直觀的了解語法的運行。逐一執行和得到結果,在創建過程時不打印結果。

(4)TCL/TK控件

TCL內置TK(toolkit)圖形工具,和python的可視化庫中含有的TK類似,能直觀的顯示出來,并且便于開發者開發一些新的交互界面使用。我們可以通過tk控件進行腳本的控制,也可以用輸入界面控制tk控件。

三、淺談TCL的語法

認識完tcl語言以后就來簡單說說語法。

每一種語言都有特定的語法規則,就比如英語有英語語法,數學有計算公式,計算機語言少不了的就是語法了,然而很多比如簡單的c語言有C語言語法,難的語法有java語法。當然tcl也不例外,也有屬于自己的語法。

(1)TCL編程語法和格式

Tcl語言語法簡單,因為tcl只有一種數據類型:字符串。在腳本編譯里只識別成字符串,并且用與存儲值。減少了變量類型的干擾。簡單的理解一下,要是學過C語言就知道,變量是一個缺少不了的東西,而在使用變量我們要先定義。比如說是:int var 100;定義了一個整形的var,在tcl里我們也需要先對用到的變量進行變量聲明和初始化,但是tcl里的變量沒有類型區分,因為它只有一個類型——字符串。所有的變量我們都可以用set 來定義,就像:set var 100;這里的100是字符串,但是你通過解析器運算的話,自動識別成整形,浮點等,就比如:expr $var+100;結果200。在這里注意$符,在tcl里運用普遍就是相當于傳參的東西。具體的語法還是要求從手冊里學習。里面很多符號運算的規則,但是理解起來很方便。

TCL編程有固定的編程格式,就比如c語言也有格式一樣,分號,反斜杠,這一類符號分運用也有特殊規定。

(2)TK編程

TK圖像工具用起來方便簡潔,安裝wish內置TK控件庫。能夠直觀地方便的使用控件,不同于python的函數庫配置,而且python相對于難理解。

學習TCL的時候的感悟就是用起來很方便,但是功能卻一般。易上手難精通。

四、在學習中的一些體會

如果感覺有興趣不妨下載個wish85試試。在學習中偶爾一些大膽的想法,但是卻很難實現。

鄧拓說過:任何科學的結論都不應該永恒不變的。

語言的精妙之處在于它的可開發性,可它的可用性。現在的語言種類繁多,但是離不開共同的特點就是語言的語法精髓,在學習 TCL發現語法類似C語言,而python是C語言的進化。這幾種語言都有其共通之處。

大學剛開始學c語言的時候,覺得printf打印字符都很厲害,但是接觸語言以后發現語言并不只是這樣,就和學習TCL一樣的,最開是的歷程總是叫我們打印一串字符。

在c語言中指針相對來說比較難的,因為涉及到的是變量的傳輸,指針指向。但是學習TCL的時候沒有發現指針這東西了,這對于剛學習語言的人來說很不錯。Tcl的參數傳輸都是考字符串的,變量總是在字符串上,所以就有參數的傳輸問題,早段時間在學習html的時候也遇到類似的參數傳輸問題,但是傳輸方式不一樣。

我的體會就是:在tcl里面區分好全局變量和局部變量就差不多了,但是還有個上一個全局值與當前全局取值的問題,我在學習的時候在這吃到了不少苦頭。總是取到上一個計算值。我覺得這是初學者應該考慮的問題。我的辦法就是通過局部變量釋放全局的上一個值。

學習一種語言沒有可以少走的路。

五、總結

TCL腳本語言簡單方便,也容易學習入手,但是精通的確要花時間。但是在慢慢落后的語言我覺得也值得去學習。畢竟開發的沒有限度,在論壇上,博客上,網頁上找到關于tcl的都是熟悉的電視機品牌。Wish也在更新,要是劈開利益,單看學習還是很值得去探索一下的,弄一個腳本論壇,腳本比拼。這種學術交流也能提高自己的思維和發現其他語言的思路。但是在應用上還是要跟潮流,畢竟python的流行也不是憑空產生的。語言都有自己的優點。

要是覺得自己有時間還是可以接觸一下每種語言,比較一下語言的特點。

在博客上的大佬們都是掌握多種語言的,c,c#,c++,java,python,html,js……或者不全會至少了解。

正所謂:金無足赤,人無完人。學多者多學,不學者無術。

Eg: set learning_is_happy “學習是件快樂的事”

Button .button –text “$learning_is_happy”-command [list learn .button]

Proc learn .button {

Global learning_is_happy

Puts $learning_is_happy

}

Grid .button

Console show

##按鈕顯示###(復雜寫法可以演變)

參考文獻:

[1]TCL編程初步.pdf.

[2]Tcl/tk入門經典.

主站蜘蛛池模板: 亚洲人成网站在线播放2019| 国产美女精品人人做人人爽| 国产精品美乳| 国产精品99一区不卡| 波多野结衣一区二区三区四区视频 | 亚洲国产AV无码综合原创| 伊人久久久久久久久久| 国产乱人伦AV在线A| 996免费视频国产在线播放| 精品国产自在在线在线观看| 欧美综合一区二区三区| 永久在线精品免费视频观看| 成人在线综合| 国产99精品视频| 精品久久高清| 国产精品2| 亚洲欧美自拍一区| 欧美成人看片一区二区三区| 一本大道AV人久久综合| 国内精品小视频在线| 四虎永久在线视频| 成人福利免费在线观看| 亚洲天堂777| 成人免费午间影院在线观看| 高潮爽到爆的喷水女主播视频| 国产一区二区丝袜高跟鞋| 久青草免费视频| 国产精品对白刺激| 69视频国产| 久久伊人久久亚洲综合| 亚洲精品中文字幕午夜| 综合社区亚洲熟妇p| 在线色综合| 色偷偷一区二区三区| 狠狠操夜夜爽| 2020久久国产综合精品swag| 国产一区二区视频在线| 久久久久亚洲精品无码网站| 欧美午夜小视频| 精品99在线观看| 国内精自视频品线一二区| 波多野结衣久久精品| 成人av专区精品无码国产 | 黄色网址免费在线| 亚洲男人在线| 亚洲无码精彩视频在线观看| 92精品国产自产在线观看| 无码丝袜人妻| 国产91精品久久| 九色视频在线免费观看| 亚洲综合九九| 成人日韩欧美| 亚洲国产精品日韩欧美一区| 极品私人尤物在线精品首页| 国产亚洲精品无码专| 国产国语一级毛片在线视频| 青青青视频免费一区二区| 五月天丁香婷婷综合久久| 四虎永久免费网站| 国产成人亚洲精品无码电影| 国产浮力第一页永久地址| 五月激情综合网| 91亚瑟视频| 欧美中文字幕在线播放| 亚洲永久色| 高清不卡毛片| 国产粉嫩粉嫩的18在线播放91| 国产老女人精品免费视频| 久久综合亚洲鲁鲁九月天| 国产青榴视频| 免费无码又爽又黄又刺激网站| 九九九久久国产精品| 亚洲an第二区国产精品| 亚洲码在线中文在线观看| 精品国产香蕉在线播出| 欧美日韩国产精品综合| 欧洲日本亚洲中文字幕| 欧美在线网| 97视频在线观看免费视频| 亚洲第一黄色网址| 国产免费久久精品99re不卡| 热re99久久精品国99热|