2012-11-08 48 views

回答

9

当然可以!

使用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 
+3

这应该是'[lindex [info level 0] 0]',因为'info level 0'返回一个包含当前过程名称**和参数**的列表。 – potrzebie

+0

你说得对,我会立即改变它。 –

+2

'info level 0'为您提供有关它被称为as_的信息,'info frame 0'为您提供关于它是什么的信息。这两个通常是密切相关的,但并不总是...... –