3
在proc中你可以得到proc的名字(不用硬编码)?例如你可以在proc中获得“proc name”吗?
proc my_proc { some_arg } {
puts "entering proc [some way of getting proc name]"
}
在proc中你可以得到proc的名字(不用硬编码)?例如你可以在proc中获得“proc name”吗?
proc my_proc { some_arg } {
puts "entering proc [some way of getting proc name]"
}
当然可以!
使用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]"
}
这次,你会g et完全合格的过程名称:
entering proc ::my_proc
这应该是'[lindex [info level 0] 0]',因为'info level 0'返回一个包含当前过程名称**和参数**的列表。 – potrzebie
你说得对,我会立即改变它。 –
'info level 0'为您提供有关它被称为as_的信息,'info frame 0'为您提供关于它是什么的信息。这两个通常是密切相关的,但并不总是...... –