您的当前位置:首页正文

TCL简易语法练习-维基百科

来源:筏尚旅游网
TCL简易语法练习-维基百科

TCL简易语法练习

维基百科,自由的百科全书

回上一页

目录 [隱藏] 1Example1(变数) 2Example2(变数) 3Example3(表示式) 4Example4(流程控制)

5Example5(程序) 6Example6(阵列) 7Example7(输出)

Example1(变数)

[编辑]

  本练习主要让使用者了解何谓变数,及变数的替换;所谓的变数,即是用来存放各种资料的容器,这些变数都有各自的名称,名称皆不能重复。

  在TCL中变数可用\"set\"及\"unset\"来新增或删除,其表示方式为在变数前面加一个\"$\"即可。

1、首先开启您的文字编辑器,建立一新档案example_01.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中 setlabname\"nmlab\" puts\"Ilove$labname\" setmyteacher\"Yen-Ping_Chu\" settitle\"Professor\" setmerge\"Ilove$labname,myteacheris$myteacher$title\" puts\"$merge\"

2、接着开启cygwin,输入指令\"ls\",查看刚才编辑的档案在不在

3、执行\"nsexample_01.tcl”便可看到结果

http://64.233.179.104/translate_c?hl=zh-CN&u=http:...2Bwiki%26complete%3D1%26hl%3Dzh-CN%26newwindow%3D1(第 1/5 页)2007-4-19 15:22:44

TCL简易语法练习-维基百科

程式说明:第一行中设定一名为\"labname\"的变数,在第二中利用\"puts\"指令将字串\"Ilove$labname\"输出,而变数

$labname会由其内容\"nmlab\"所取代。 第三、四行设定另外两个变数,第五行则是将变数合并成一新变数,即该变数的内容会随着前面的变面内容而更动。 第六行则是将变数输出。

Example2(变数)

  本练习主要是让使用者知道\"eval\"这个指令,其主要是用于执行一个TCLscript。

1、建立一档案example_02.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中 setnmlab\"putsI_Love_Nmlab\" eval$nmlab 2、执行\"nsexample_02.tcl\"便可看到结果

[编辑]

程式说明:在本程式中,变数nmlab包含了一个TCLscript,注意在puts后面的字串不能有空格,在第二行中,执行eval这个指令时便会执变数nmlab的指令puts并输出结果。

Example3(表示式)

[编辑]

  本练习主要是让使用者知道如何使用TCL的各种表示式,如数学表示式、关系表示式等。 而这些表示式通常都是使用\"[expr运算式]\"的方式来执行表示式并求得结果。

1、建立一档案example_03.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中

setvalue[expr0==1] puts$value setvalue[expr2>1] puts$value setvalue[expr3+7] puts$value puts\"(20-15)*3=[expr(20-15)*3]\" 2、执行\"nsexample_03.tcl\"便可看到结果

程式说明:在程式中,关系式中的True与False都是以0与1来代表,因此在第一段及第二段的程式码中,可以看到第一个关系式0==1的结果是False,所以是0,而第二个关系式2>1是正确的,所以结果为1。 而第三、第四段的程式则是将运算结果输出。

http://64.233.179.104/translate_c?hl=zh-CN&u=http:...2Bwiki%26complete%3D1%26hl%3Dzh-CN%26newwindow%3D1(第 2/5 页)2007-4-19 15:22:44

TCL简易语法练习-维基百科

Example4(流程控制)

  本练习主要目的在于让使用者学会运用\"if-else\"、\"while\"、\"for\"、\"switch\"等常见的流程控制指令。

1、建立一档案example_04.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中

[编辑]

setwight63 sethigh174 setname\"Zi-Xuan\" if{[expr$high-$wight]<100}{ puts\"$name!youaretoofat!\" }elseif{[expr$high-$wight]>100&&[expr$high-$wight]<120}{ puts\"$name!yourwightisok!\" }else{ puts\"$name!youaretoothin!\" } setvalue0 for{seti0}{$i<10}{incri1}{ setvalue[expr$value+$i] } puts$value

setnum2 switch$num{ 1{puts\"thesumof1to10is15(usingswitch)\{puts\"thesumof1to10is35(usingswitch)\2、执行\"nsexample_04.tcl\"便可看到结果

程式说明:第一段是if-else的用法,在if的判断句中也能加入运算判断;第二段、第三段中都是计算从1加到10的和,第四段则是用$num这个变数的值来选择要的输出字串,defult为若选则的编号不存在时的选项,即将上述程式中的$num改为4时,则会输出default的结果。

Example5(程序)

[编辑]

  本练习主要目的在让使用者学会如何使用自订的程序(procedures),而定义一程序的语法为:

procnameparamsbody,其中name为程序的名称,params为参数列表,body为程序主体。 定义完程序后就能像其它任何TCL指令一样执行,简单的说就如同副程式一般呼叫并执行。

1、建立一档案example_05.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中

procsum_proc{ab}{ return[expr$a+$b] } procmagnitude{num}{ if{$num>0}{ return$num } setnum[expr$num*(-1)] return$num } procfib{num}{ if{$num<2}{ return$num }else{ return[expr[fib[expr$num-1]]+[fib[expr$num-2]]] } } setnum112

setnum214 setsum[sum_proc$num1$num2] puts\"Thesumis$sum\" puts\"Themagnitudeof3is[magnitude3]\" puts\"Themagnitudeof-2is[magnitude-2]\" puts\"TheFibonaccinumberof$num2is[fib$num2]\" 2、执行\"nsexample_05.tcl\"便可看到结果

http://64.233.179.104/translate_c?hl=zh-CN&u=http:...2Bwiki%26complete%3D1%26hl%3Dzh-CN%26newwindow%3D1(第 3/5 页)2007-4-19 15:22:44

TCL简易语法练习-维基百科

程式说明:前面几段程序功能分别为\"sum_proc\"将传入的两个值加总后传回,\"magnitude\"是判断传入的值若为负值,则将其乘-1变成正值后传回,\"fib\"程序为费氏级数的递回程式,其利用了重复递回的程式写法,在程序中呼叫自已。 最后几行便是将程式执行结果输出。

Example6(阵列)

  本练习主要目的在于让使用者学习如何使用阵列来存放资料。

1、建立一档案example_06.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中 setmyarr(0)\"I\" setmyarr(1)\"Love\" setmyarr(2)\"nmlab\" for{seti0}{$i<3}{incri1}{ puts$myarr($i) } 2、执行\"nsexample_06.tcl\"便可看到结果

[编辑]

程式说明:前三行为设定阵列其内容,最后利用for回圈将阵列中的值输出。

Example7(输出)

  本练习主要目的为让使用者知道如何将资料存到硬碟装置中。

1、建立一档案example_07.tcl,并输入下列程式码,最后将本档案存放到本机资料夹中

setfile[open\"myfile\"\"w\"] puts$file\"ILoveNMLABsomuch.\" puts$file\"NMLABistheleaderofthenchu\" close$file 2、执行\"nsexample_07.tcl\"后,会产生一新的档案,名称为刚才设定的myfile

[编辑]

程式说明:在第一行中,利用open这个指令来开启一档案,其第一个参数为档案名称,第二个参数\"w\"为写入(write)状态,第二行及第三行程式则是将两字串写入刚才开启的档案中,最后一行则是将档案关闭。

http://64.233.179.104/translate_c?hl=zh-CN&u=http:...2Bwiki%26complete%3D1%26hl%3Dzh-CN%26newwindow%3D1(第 4/5 页)2007-4-19 15:22:44

TCL简易语法练习-维基百科

回上一页

取自\"http://wiki.mis.nchu.edu.tw/network/index.php?title=TCL%E7%B0%A1%E6%98%93%E8%AA%9E%E6%B3%95%E7%B7%B4%E7%BF%92\"

Views

Article ● Discussion ● Edit ● History

Personaltools

用户登录

Navigation

首页

● Communityportal ● 新闻动态 ● 最近更改 ● 随机页面 ● 帮助

搜索

進入 搜索 Toolbox

链入页面 ● 链出更改 ● 特殊页面

最后更改07:362005年十一月10日. ● 本页面已经被浏览1247次。 ● 关于维基百科 ● Disclaimers

http://64.233.179.104/translate_c?hl=zh-CN&u=http:...2Bwiki%26complete%3D1%26hl%3Dzh-CN%26newwindow%3D1(第 5/5 页)2007-4-19 15:22:44

因篇幅问题不能全部显示,请点此查看更多更全内容