在一个proc中你可以获得proc名称(没有硬编码)吗? e.g。
proc my_proc { some_arg } {
puts "entering proc [some way of getting proc name]"
}
答案 0 :(得分:11)
当然可以!
使用info level
命令:
proc my_proc { some_arg } {
puts "entering proc [lindex [info level 0] 0]"
}
你得到了你想要的东西
entering proc my_proc
另一种方法是使用info frame
,它会为字典提供其他信息,并阅读proc
键:
proc my_proc { some_arg } {
puts "entering proc [dict get [info frame 0] proc]"
}
这一次,你将获得完全合格的proc名称:
entering proc ::my_proc