最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
淄博市| 临泉县| 措美县| 江北区| 延寿县| 罗平县| 合肥市| 邢台县| 澎湖县| 鹿泉市| 卢氏县| 石城县| 黎城县| 宝清县| 固阳县| 耒阳市| 新余市| 小金县| 浮山县| 綦江县| 出国| 轮台县| 永修县| 和硕县| 普兰店市| 大埔区| 孟州市| 黄石市| 铅山县| 福建省| 德钦县| 鄂尔多斯市| 沙雅县| 凌海市| 萍乡市| 澄江县| 南丹县| 凤山县| 丹凤县| 淮南市| 阳信县|