五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2022年的 Tcl/Tk 編程入門參考 5.條件、遍歷、循環(huán)

2022-04-15 14:56 作者:象喻  | 我要投稿

控制結(jié)構:條件、遍歷、循環(huán)

這是編程語言普遍具有的控制特性,在介紹之前,讓我先介紹一下Tcl/Tk里的布爾值。

布爾值

布爾值是編程語言中,普遍存在的一種數(shù)據(jù)類型。即便沒有這種數(shù)據(jù)類型,也會有這個概念,比如Tcl/Tk。

布爾值表示 "是、非" 或者 "真、假" 這么一個成對的概念。Tcl語言里都是字符串,它通過一些特定字符表示布爾值。首先,很好理解的表示布爾值的單詞(大小寫均可):

yes, no

true, false

on, off

其次,數(shù)值 1, 0


但是實際上tcl語言中還有很多情況表示布爾值:


此外,布爾值單詞的一部分,也被認為是布爾值(??這是極其坑爹的設定)

if ?條件

如果 {表達式結(jié)果為"真"} 那么 {搞點事情~}

基本用法:if {表達式} then {代碼段}

if命令用于條件執(zhí)行。它需要兩個必要參數(shù):一個參數(shù)是表達式,另一個是代碼段,而then參數(shù)是可選的。當表達式運算結(jié)果為真時就會執(zhí)行代碼段。

表達式可以是多行語句,結(jié)果必須是布爾值。并不局限于數(shù)學表達式,其具體可執(zhí)行的范圍,跟expr命令一樣,可以參考expr命令的文檔。then這個參數(shù)是可以省略的,主要用于加強代碼的可讀性。


else

else參數(shù):如果表達式結(jié)果為“假”時,就運行一段代碼。

if {表達式} ?then? {代碼段} else {代碼段2}

如果 {表達式結(jié)果為"真"} 那么 {搞點事情~} 否則 {另外搞點事情~}


elseif

elseif類似于在else后面再接一個if命令。一個if命令可以有多個elseif。

如果 {表達式結(jié)果為"真"} ?{搞點??事情}

要不換個姿勢 {表達式2結(jié)果為"真"} ?{搞點*事情}

再試一次 {表達式3結(jié)果為"真"} ?{搞點??事情}

實在不行 {搞點??事情}


*注意,雖然看上去像語法,但是if命令就是普通的Tcl命令,它有接受多個參數(shù),其中像then、else和elseif這樣的參數(shù)屬于預設參數(shù),后接的代碼段,無論多長本身也是參數(shù)。


switch 匹配

switch ??可選參數(shù)? ?字符串 ?匹配值1 ?代碼段1 ?匹配值2 ?代碼段2....

switch命令用于進行匹配操作,該命令需要指定一個字符串來跟多個值進行匹配,每個進行匹配的值都有一段對應的代碼段,當字符串與匹配值相同時,就執(zhí)行這個匹配值對應的代碼段。

*提示:Tcl語言的字符串只要不是{}括起來的,都能進行變量替換和命令替換。

該命令用于簡化需要使用多個 if...elseif 語句的情況,也就是說如果不怕麻煩的話,該命令也可以用if...elseif語句來改寫。

可選參數(shù)

?-exact ?嚴格模式(默認值,精確識別特殊字符,比如: *、$ )
?-glob ?與 string match 命令相同,支持 * ? 匹配
?-regexp ?正則表達式
?-nocase ?不區(qū)分大小寫
?-- ?表示參數(shù)結(jié)束(用于匹配字符串以 - 開頭時,這會導致tcl誤認為是參數(shù)-xxx)


foreach 遍歷

foreach ?變量名 ?列表 ??變量名2? ??列表2? ?{代碼段}

用于遍歷列表中的所有元素:

  • 按順序?qū)⒃刭x值給變量,并執(zhí)行代碼段

  • 完畢后,將下一個元素賦值給變量,再次執(zhí)行代碼段……

  • 不斷重復直到遍歷全部元素

*提示:如果元素不足時,用空字符代替

?


break 中斷

break中止當前的遍歷/循環(huán),直接結(jié)束遍歷/循環(huán)命令。也有叫它“跳出”的。

?


continue 跳過

continue 跳過本輪遍歷/循環(huán),直接進入下一輪


incr 增加

incr 給變量增加數(shù)值,主要搭配下面介紹的循環(huán)命令。

incr 變量名 ?增量? ?(變量值和增量都必須為整數(shù))


for 循環(huán)

for ?起始定義 ?測試條件 ?每輪最后執(zhí)行的語句 ?{代碼段}

For命令,也就是for循環(huán),是編程語言里的經(jīng)典循環(huán)語句,各個編程語言的具體實現(xiàn)略有不同,但是功能都類似。

TCL語言的for命令需要四個參數(shù):第一個參數(shù)起始定義,第二測試條件,第三個參數(shù)是每輪最后執(zhí)行的語句,最后一個參數(shù)是{代碼段}。

for命令的運行方式:

  • 首先只運行一次<起始定義>部分的語句

  • 然后進入循環(huán),判斷<測試條件>的執(zhí)行結(jié)果是否為真,如果結(jié)果為真,就運行{代碼段}中的代碼,代碼段運行完畢之后,再運行<每輪最后執(zhí)行的語句>,運行完畢之后,本輪結(jié)束,進入下一輪

  • 下一輪繼續(xù)判斷<測試條件>的執(zhí)行結(jié)果是否為真,如果為真,就繼續(xù)執(zhí)行{代碼段}和<每輪最后執(zhí)行的語句>,然后繼續(xù)進入下一輪

  • 一直循環(huán)直到<測試條件>為假,結(jié)束命令。

?



while 循環(huán)

while 測試條件 {代碼段}

只要測試條件為"真",就會反復執(zhí)行代碼段

?



2022年的 Tcl/Tk 編程入門參考 5.條件、遍歷、循環(huán)的評論 (共 條)

分享到微博請遵守國家法律
庄河市| 长顺县| 商洛市| 台前县| 偏关县| 南丰县| 仁寿县| 栾川县| 武夷山市| 阿巴嘎旗| 南城县| 丹东市| 齐齐哈尔市| 蚌埠市| 阜平县| 嘉黎县| 孟村| 南部县| 浦江县| 龙井市| 永靖县| 贵州省| 盖州市| 大埔区| 克什克腾旗| 汤阴县| 巴林右旗| 长泰县| 梨树县| 明光市| 喜德县| 凌云县| 四川省| 易门县| 泽库县| 东阿县| 根河市| 南平市| 团风县| 华蓥市| 金堂县|