tcl 中的proc 函数

proc get_area {args} {
  parse_proc_arguments -args $args opt
  set pattern ""
  if {[info exists opt(-pattern) ]} {
    set pattern $opt(-pattern)
  } 
  set area 0
  foreach_in_collection c [get_flat_cell *${pattern}*] {
    set area [expr [get_attribute $c area] + $area]
  }
  puts "Pattarn \"${pattern}\" cell area is: $area"
  return $area
}
define_proc_attributes get_area  \
  -info "get_area for specified pattern" \
  -define_args {
    {-pattern   "instance name pattern"  AString string required } \
  }
  • 其中在define_proc_attributes 中默认可选项都是 array 项,在函数主题中处理Opt ,先通过parse_proc_arguments -args $args opt 传递进来。

然后访问参量 set pattern $opt(-pattern)

  • define_proc_attributes get_area  \
      -info "get_area for specified pattern" \  #cmd -help 打印出命令描述
      -define_args {
        {-pattern   "instance name pattern"  AString string required } \# 
      }
     

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值