无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

Tcl/Tk 編程入門參考 15.將字符串當作命令執(zhí)行 eval

2023-06-15 15:22 作者:象喻  | 我要投稿

eval命令在多種編程語言中都存在,作用是把字符串當作語句來執(zhí)行。這個命令或者說這種功能的主要用途是拼接語句:有時我們要運行的語句(代碼段)不是立刻就能確定的,如果把多個語句的結果存儲在多個變量中,就會導致代碼繁雜——這種情況下先把代碼當作字符串來拼接,拼接完畢后再把字符串當作代碼來運行,就可以簡化代碼。


吐槽:


用法:

eval 參數(shù)1 參數(shù)2 參數(shù)3 ...

eval會將 所有參數(shù) 拼接成類似于列表的字符串(與concat命令相同)然后當作代碼運行


簡單示例:

eval puts 222

>> 222


# 記得要用英文分號 ; 標記每條語句結束

set code "puts 222;"

eval $code puts 333

>>222

>>333


接下來是Tcl/Tk里eval的注意事項,有變量的代碼不要用雙引號包裹,因為這樣會導致在執(zhí)行時先進行變量替換操作,產(chǎn)生下面這樣的錯誤:

eval "set bb 233;" "puts $bb"

>>can't read "bb": no such variable

在Tclsh發(fā)現(xiàn)"puts $bb"時會進行$bb的替換操作(把$bb替換成變量值),但此時還沒有bb這個變量,導致報錯。正常寫法:

eval set aa 233; puts $aa

>>233



額外:

部分情況,可以用uplevel代替eval



Tcl/Tk 編程入門參考 15.將字符串當作命令執(zhí)行 eval的評論 (共 條)

分享到微博請遵守國家法律
鄢陵县| 汽车| 长顺县| 金寨县| 库尔勒市| 西和县| 宁南县| 嘉鱼县| 奇台县| 衡阳市| 长葛市| 汉源县| 田东县| 泰州市| 沈丘县| 岳普湖县| 桦南县| 海门市| 南平市| 潍坊市| 萨迦县| 台东县| 镇赉县| 梁平县| 乌鲁木齐县| 兴业县| 故城县| 平谷区| 祁连县| 金门县| 白水县| 昭觉县| 吴忠市| 文安县| 炉霍县| 额敏县| 县级市| 南充市| 湖州市| 浠水县| 汝州市|