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]"
}
당신은 당신이 또 다른 방법은 다른 정보와 사전을 제공 info frame
을 사용하고 proc
키를 읽을 수
entering proc my_proc
원하는 것을 정확하게 얻을 :
proc my_proc { some_arg } {
puts "entering proc [dict get [info frame 0] proc]"
}
이번에는 정규화 된 proc 이름은
entering proc ::my_proc
입니다. 왜냐하면'info level 0'은 현재 proc의 이름 **과 인자 **를 가진리스트를 반환하기 때문에'[lindex [info level 0] 0]'이어야합니다. – potrzebie
네 말이 맞아, 나는 그것을 즉시 바꿀거야. –
'info level 0'은 그것이 무엇인지에 대한 정보를 얻습니다.'info frame 0'은 당신이 _is_에 관한 정보를 얻습니다. 이 두 가지는 대개 밀접한 관계가 있지만 항상 그렇지는 않습니다 ... –