中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

define_proc_attributes和parse_proc_arguments的原理分析

define_proc_attributes和parse_proc_arguments的原理分析,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的昂仁網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

define_proc_attributes  和parse_proc_arguments命令能夠擴(kuò)展tcl語言中proc的功能,創(chuàng)建和Synopsys命令一樣具有help和屬性的命令。
創(chuàng)建一個(gè)新的proc時(shí),它具有以下固有屬性:

?可以使用info body命令查看proc的內(nèi)容
?proc可以被修改
?可以使用proc名稱的縮寫
?被放置在Procedures command group
 
通過使用define_proc_attributes命令, 可以

?指定命令的help文本
?指定參數(shù)規(guī)則
?是否禁止查看和修改
?是否禁止名稱縮寫
?指定command group
 
define_proc_attributes
 
使用define_proc_attributes命令來定義和更改proc的屬性。  其語法如下:
define_proc_attributes proc_name    [-info info_text][-define_args arg_defs][-command_group group_name][-hide_body][-hidden][-permanent][-dont_abbrev]
proc_name      指定proc的名稱

-info info_text    指定與help命令或者-help選項(xiàng)一起使用的help文本

-define_args arg_defs  指定proc參數(shù)的help文本及其屬性

-permanent   防止修改proc

-dont_abbrev    無論sh_command_abbrev_mode變量設(shè)置什么,都防止使用proc的名稱縮寫
 

可以使用-define_args選項(xiàng)為該proc的參數(shù)指定help文本,并定義參數(shù)的數(shù)據(jù)類型和屬性。

-define_args的參數(shù)是列表的列表。  每個(gè)列表元素指定proc參數(shù)的屬性
 
每個(gè)列表元素具有以下格式:
arg_name option_help value_help data_type attributes
arg_name  指定proc參數(shù)的名稱  
option_help     參數(shù)的簡短描述
value_help      參數(shù)值的簡短描述
data_type     指定參數(shù)的數(shù)據(jù)類型  
attributes    指定參數(shù)的其他屬性  
 
define_proc_attributes Command Example  
proc plus {a b} { return [expr $a + $b] }  define_proc_attributes plus \  -info "Add two numbers" \  -define_args { {a "first addend" a stringrequired} \  {b "second addend" b stringrequired} }

dc_shell> help  plus
plus                 # Add two numbers
  
dc_shell> help -verbose plus    
Usage: plus # Add two numbersa (first addend)b (second addend)

dc_shell > plus 5 6    
11
   
 
parse_proc_arguments  
 
parse_proc_arguments命令可解析傳遞給proc的使用define_proc_attributes命令定義的參數(shù)。
   define_proc_attributes和parse_proc_arguments的原理分析
通常,parse_proc_arguments是proc中第一個(gè)調(diào)用的命令來驗(yàn)證參數(shù)。  不能在proc外使用parse_proc_arguments命令。
 
parse_proc_arguments的語法是
parse_proc_arguments -args arg_list result_array
   
-args arg_list    指定傳遞給proc的參數(shù)列表。
result_array    指定數(shù)組存儲解析的參數(shù)。

proc plus { args }  ## 關(guān)鍵字 args 表示可變個(gè)數(shù)的參數(shù){parse_proc_arguments -args $args results    ## 將參數(shù)保存到數(shù)組中,數(shù)組名為 results,數(shù)組元素名字是參數(shù)名,元素值是參數(shù)值 foreach argname [array names results] {echo " $results($argname)"}} define_proc_attributes plus \-info "echo two numbers" \-define_args {{a "first addend" a string required} \{b "second addend" b string required} }
   
plus顯示了parse_proc_arguments的使用。  plus接受各種類型的參數(shù),然后打印出來。
 
dc_shell> plus  a b
 a  b
 
另外可以通過
info body procedure_nameinfo args procedure_nameproc_body procedure_nameproc_args procedure_name

分別打印出proc的主體和參數(shù)
 
如果不使用parse_proc_arguments命令,則proc將無法響應(yīng)-help選項(xiàng)。  但是,始終可以使用help命令。

關(guān)于define_proc_attributes和parse_proc_arguments的原理分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

本文標(biāo)題:define_proc_attributes和parse_proc_arguments的原理分析
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article32/igjgsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、品牌網(wǎng)站制作微信小程序、標(biāo)簽優(yōu)化移動網(wǎng)站建設(shè)、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
鲁甸县| 鹰潭市| 乾安县| 玛纳斯县| 疏附县| 特克斯县| 五家渠市| 甘泉县| 电白县| 闽侯县| 靖江市| 新沂市| 南城县| 英德市| 滦南县| 利津县| 章丘市| 五原县| 礼泉县| 汶上县| 普定县| 古交市| 盘山县| 平泉县| 板桥市| 阳东县| 双江| 西贡区| 沙坪坝区| 扶余县| 栖霞市| 伊春市| 柳林县| 沂水县| 辽中县| 涡阳县| 大同县| 沽源县| 甘南县| 白玉县| 阿鲁科尔沁旗|