电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

tcl基本语法与指令

34页
  • 卖家[上传人]:第***
  • 文档编号:34213458
  • 上传时间:2018-02-22
  • 文档格式:DOC
  • 文档大小:313KB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第 1 頁,共 36 頁TCL Tutorial基本語法與指令Original written by Rick In 2003Revision by maa In 2004/6第 2 頁,共 36 頁目錄一、TCL 簡介.3二、TCL 語法.4三、資料型態.9String 字串資料態.9List 串列資料型態.17Array 陣列資料型態.20四、控制結構.22If Then Else.23Switch.24While.26For.27Foreach.28Break 與 Continue.29Catch.29五、Procedure.30第 3 頁,共 36 頁六、TCL 內建指令.32第 4 頁,共 36 頁一、TCL 簡介TCL 的全名為 Tool Command Language,唸作”Tickle”,事實上它是一個Scripting Language(俗稱劇本語言或腳本語言) ,也是一個直譯器(Interpreter) 。TCL 語言有三個特色:1. 語法簡單,容易上手2. TCL 的身份如同 UNIX 裡的 Shell languages 像是 Bourne Shell (sh

      2、)、C Shell (csh)、Korn Shell (ksh) 與 Perl 一樣,用來執行與控制系統上的程式。TCL 具備足夠的程式化能力 (variable、flow control、procedure) 與存取檔案、程序 (Process) 及網路的功能,供組裝既有軟體元件以建立符合需求的新工具。3. 可內嵌 (embed) 到應用程式中,讓軟體使用者透過程式員提供的高階 TCL 指令,自訂應用程式的行為。除了上列三個主要特色外,底下所列的幾點也是 TCL 語言成功的原因: 跨平台,可在各種系統 (UNIX、Windows 、 Macintosh 等) 執行 TCL 程式 強大的字串處理能力常規表示式 (Regular Expressions) ,協助程式員使用表示式的規則或樣式 (pattern),用來搜尋、比對、粹取或是取代符合樣式的複雜字串。 可用 C 語言開發 TCL Extension Library,擴充 TCL 的指令與能力,例如著名的 Tk extension 讓 TCL 擁有 GUI Programming 的功能、expect extension 用來開發可

      3、與應用程式互動式溝通的程式。 已有一大堆可在各式場合發揮效用的 package,諸如各種網路應用(ftp, http、email, dns, msn, icq 等) 、圖形化介面開發 (TK, BWidget, Tktable, SpecTCL, VisualTCL, ActiveState KOMODO)、物件導向程式開發 (incrTcl, XOTcl, SNIT 等) 以及資料庫程式開發 (MetaKit, daFT 等)。總結來說,TCL 語言就像是一瓶膠水一般,只要收集可資運用的應用程式與 TCL Package,在這些介面上塗塗抹抹,寫個簡單的 TCL Script (TCL 指令的集合),在短暫的時間內就可組裝出一個新工具來。因此寫 TCL Script 開發軟體的過程就像是在玩樂高積木一般。第 5 頁,共 36 頁二、TCL 語法TCL Script 可視為一個包含許多 TCL 指令 (TCL command) 的程式,一個 TCL 指令的基本語法為:command arg1 arg2 arg3 . 在 TCL 語言中,每行指令的第一個單字為指令名稱 空白字元用來分隔指

      4、令名稱與各個個別的參數 個別指令的分隔是以分號與換行符號作為分隔符號 一個參數如果超過一個英文單字 (亦即字串中間穿插空白或其它符號 ),可用雙引號與大括號將這些元素組成 (grouping) 單一一個參數。使用雙引號與大括號的差別,在於 TCL 針對雙引號中的字串會做置換處理 (substitution),例如變數值的代換或是執行包含於字串中的 TCL 指令(使用中括號來表示),而對於大括號所括住的內容 TCL 則不會有這些置換處理。底下是一個簡單的 TCL Script 與執行後的輸出:# Demo1.tclputs stdout one; puts stdout twoset x 4set y 6puts $x + $y = expr $x + $yputs $x + $y = expr $x + $yputs HellonnTCL!% ./Demo1.tclonetwo4 + 6 = 10$x + $y = expr $x + $yHelloTCL!下表所列的符號在 TCL 語言裏有特殊的意義:第 6 頁,共 36 頁置換符號 (substitution symbols)$ 變

      5、數值置換符號。$ 符號用來取出指定變數的值。底下利用 set 指令設定 x 變數的值,並用 puts 指令輸出 x 的內容到 Console:set x 5puts stdout $x如上列最後一行程式碼,取出變數值時需在變數名稱前加上 $ 符號。 命令置換符號。TCL 將中括號中的內容視為一個指令,會執行其中的指令並將結果傳回。例如 Demo1.tcl L5:puts $x + $y = expr $x + $y在做完 x 與 y 兩個變數的置換後,TCL 解譯器遇到中括號認為其中為另一個可執行的指令,指令名稱為 expr。在執行 expr 指令前,TCL 先將 x 與 y 值置換後,傳遞給 expr 指令並呼叫執行之。expr 指令用來做數學式子的運算,會負責剖析參數並做數學運算。群組 (grouping symbols)“” 雙引號可將多個元素組成單一一個參數,引號內的內容會被 TCL 進行置換處理,包括變數置換與命令置換。 大括號的功能與雙引號相同,但 TCL 不會對括號中的內容做任何解釋或處理,會照將括號中的內容視為一個參數,照本宣科原原本本地傳遞給指令去處理。例如 Demo

      6、1.tcl L6:puts $x + $y = expr $x + $y因為 TCL 對大括號中的內容不做任何處理,因此它的輸出為 $x + $y = expr $x + $y。另外,TCL 不會將大括號中的換行符號視為一個指令的結束,如果一個指令的參數很長時,我們就可以利用大括號這樣寫,把換行符號當成是參數的一部份:puts $x + $y =expr $x + $y 第 7 頁,共 36 頁其它 和 C base 語言一樣,反斜線可將特殊的字元做跳脫處理。例如 n 代表換行符號。在 TCL 語言裏,如果一個指令超過一行,亦可在行尾使用反斜線做為續行的符號 (VB 指令如果超過一行,則是在行尾用底線符號代表續行)。分號與換行號 代表一個 TCL 指令的結束符號。# 註解符號。通常我們會在一行程式碼的第一個字元打上 # 符號,以代表本行程式為註解。注意!如果在 # 符號前有 TCL 指令,必須像這樣做:puts hello ;# here is comment亦即,在 # 符號前加上一個分號代表前面指令的結束。如果不這麼做,那 TCL 便會把 # 視為一個參數丟給 puts 指令去做處

      7、理。變數TCL 變數的可以隨時建立不用事先宣告,變數名稱的取法也沒有任何限制,所以可以使用任何字元來為變數命名,甚至變數名跟指令名稱相同也沒問題。使用時只有一點要注意的,就是 TCL 是大小寫有別的語言。通常,我們以 set 指令來設定變數值:set x 5set y 6set PI 3.14set PI*2 6.28 ;# 注意!變數名稱是 PI*2puts $PI*2set PITCL 的 set 指令除了設定變數值的用途外,也可以用來取出變數的內容,如上列程式最後一行使用 set 指令取出 PI 的值 (注意!這邊不用在變數名稱前加上 $ 符號 )。unset 指令用來刪除一個或多個變數,來釋放記憶體空間:unset x y PI第 8 頁,共 36 頁我們可以使用 info exists 指令來檢查變數是否存在。例如 incr 指令使用時,變數必須先建立才能為變數進行加法運算。此時便可使用 info exists 先檢驗變數的存在:if !info exists counter set counter 0 else incr counter ;# counter 加 1TCL

      8、在執行時會建立一些全域變數,可以利用 info global 列出有哪些全域變數:% info globalargv argv0 tcl_version tcl_interactive var auto_oldpath errorCode auto_path errorInfo unknown_handlers unknown_handler_order auto_index env tcl_patchLevel argc tcl_libPath _ tcl_platform tcl_library其中幾個比較常用的,像是 argc 存放程式的命令列參數個數,argv0 是目前執行的 TCL Script 名稱,argv 則是存放所有命令列參數的 list;env 陣列存放系統的環境變數,而 tcl_version 會告訴你目前的 TCL 版本為何。置換與群組處理 (Substitution and Grouping)底下是 TCL 置換處理與群組的幾點規則整理: TCL 指令的參數是以空白字元分隔,可以使用雙引號或大括號將多個元素組成一個參數。 如果是以大括號組出一個參數,TCL 不會對括住的內容進行任何置換,在對應的結束大括號出現前,任何字元都將視為參數的一部份,包含換行符號、分號或是內部巢狀的大括號。 如果是以雙引號組出一個參數,則在對應的結束雙引號出現前,雙引號中的內容會被 TCL 進行置換動作。 如果參數或是雙引號內的單字是以變數符號 $ 為開頭,則 TCL 為會進行變數的置換。 如果參數或是雙引號中有中括號,則在對應的中括號出現前,TCL 會對中第 9 頁,共 36 頁括號中的內容進行指令的置換。 因為 TCL 是以空白字元作為參數分隔符號,因此要避免下列的錯誤:if $x 1puts $x 在此加上一個空白字元,隔開 if 指令的第二及第三個參數。TCL 的數學運算子- ! 減號(Unary minus) / NOT 位元運算(Bit-wise not) / NOT布林邏輯運算(Log

      《tcl基本语法与指令》由会员第***分享,可在线阅读,更多相关《tcl基本语法与指令》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.