在一个proc中你可以得到proc名称(没有硬编码)?例如
proc my_proc { some_arg } {
puts "entering proc [some way of getting proc name]"
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*nte 11
当然可以!
使用info level命令:
proc my_proc { some_arg } {
puts "entering proc [lindex [info level 0] 0]"
}
Run Code Online (Sandbox Code Playgroud)
而你得到了你想要的
entering proc my_proc
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用info frame,它给出一个包含其他信息的字典,并读取proc密钥:
proc my_proc { some_arg } {
puts "entering proc [dict get [info frame 0] proc]"
}
Run Code Online (Sandbox Code Playgroud)
这一次,你将获得完全合格的proc名称:
entering proc ::my_proc
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4445 次 |
| 最近记录: |