51Testing软件测试论坛

标题: Tcl 新手请教这个程序的意思,怎么也看不懂,谢谢了! [打印本页]

作者: winniexia    时间: 2011-7-5 07:17
标题: Tcl 新手请教这个程序的意思,怎么也看不懂,谢谢了!
set SAI_RX_BCLK_PINS [list  pte[9] pta[14] ptc[6] ptc[9]]
foreach pin ${SAI_RX_BCLK_PINS} {
  regexp {(.*)\[(.*)\]} $pin junk name num
  set npin $name$num

  if { [info exists cts_spec_stage1] && $cts_spec_stage1 } {
     set sai_rx_bclk [dbGet [dbGet top.insts.instTerms.name pads_pi/pad_${npin}/ipp_ind -p].name]
     lappend cts_spec(${sai_rx_bclk},LeafPin) "clkgen_sai_clk_mux/d0 rising"


  就是regexp {(.*)\[(.*)\]} $pin junk name num  部分怎么也看不懂。其它部分清楚是什么意思。所以请教达人帮忙解释一下,跪谢!
          set npin $name$num
作者: 默默巫    时间: 2011-7-6 11:08
提问帖不要选择付费主题哦,可以下次选择发帖-悬赏。
作者: msnshow    时间: 2011-7-6 14:00
看不明白, regexp  应该是正则表达式
作者: harrywood    时间: 2011-7-6 21:35
这么复杂!我才看TCL3天,看不懂。
作者: 冰之世界    时间: 2011-7-7 10:59
regexp {(.*)\[(.*)\]} $pin junk name num
正则表达式,{}表示待匹配的样式,()表示分组,$pin是用于作匹配的字符串,junk是表示匹配与否的布尔值,如果匹配前后两个圆括号里面的内容分别赋值给name和num
  set npin $name$num
把name和num的值串联在一起赋给npin




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2